shellNote--day4

shellNote

day4

  • 使用多个命令

    shell可以将多个命令串起来执行,每个命令间用分号;隔开;

  • date命令

    显示当前日期和时间;

  • who命令

    显示当前是谁登入了系统;

  • shell脚本文件

    #用作注释行,第一行例外;

    #!用来告诉哪个shell来运行脚本;

    使用bash shell为#!/bin/bash;

  • 显示消息–echo

    echo命令,后面加上一个字符串,该命令就能显示处这个文本字符串;

    默认情况下,不需要引号;

    也可用单引号或双引号来划定字符串;

    echo This is a test

    echo "you're good"

    echo 'rich say "scripting is easy"'

    • -n参数

      将文本字符串和命令输出显示在同一行中;

  • 环境变量

    在脚本中,可以在环境变量名称之前加上美元符$来使用环境变量;

    在字符串中也可以使用;

    字符串中真的显示$,需要在$之前加转义字符\$;

  • 用户变量

    shell中可以自定义变量;

    使用等号将值赋给用户变量时,变量,等号,值之前不能出现空格;

    用户变量也是通过$来引用;

  • 命令替换

    从命令输出中提取信息,并赋值给变量;

    两种方法将命令输出给变量:

    • 反引号字符`

      testing=`date`
      
    • $()格式

      testing=$(date)
      
  • 输出重定向–>和>>

    将命令的输出发送到一个文件中,用大于号>来完成;

    command > outputfile

    如果文件存在,将覆盖文件中的内容;

    如果不想覆盖,可以用>>来追加数据;

  • 输入重定向–<和<<

    将文件的内容重定向到命令,用小于号<来完成;

    command < inputfile

    另外一种叫内联输入重定向,不需要文件,只需要在命令行指定输入重定向的数据即可,使用<<;

    command << marker
    date
    marker
    
    eg:
    $wc <<EOF
    > test str1
    > test str2
    > EOF
    
  • wc命令

    可以对数据的文本进行计数,默认输出3个值;

    • 文本的行数

    • 文本的词数

    • 文本的字节数

  • 管道–|

    将命令的输出作为另一个命令的输入,可以通过管道来完成;

    command1 | command2

  • 数学运算

    • expr命令

      允许在命令行上处理数学表达式;

      不太好用;

    • 使用方括号

      $[ opration ]将数学表达式围起来;

      不过只支持整数运算;

    • bc计算器

      可以计算浮点运算;

      浮点运算有scale控制,保留的小数的位数;

      • 脚本中使用bc

        variable=$(echo "options; expression" | bc)

        options允许设置变量,用分号隔开;

        expression定义执行的数学表达式;

        var=$(echo "scale=4; 3.44/5" | bc)

        还可以:

        variable=$(bc << EOF
        options
        statements
        expressions
        EOF
        )
        

        eg:

        #!/bin/bash
        var1=10.46
        var2=43.67
        var3=33.2
        var4=71
        var5=$(bc << EOF
        scale = 4
        a1 = ( $var1 * $var2)
        b1 = ($var3 * $var4)
        a1 + b1
        EOF
        )
        
  • 退出状态码

    变量$?保存上一个已执行命令的退出状态码;

    成功结束的状态码是0;如果有错误,状态码就是一个正数值;

状态码描述
0命令成功结束
1一般性未知错误
2不适合的shell命令
126命令不可执行
127没找到命令
128无效的退出参数
128+x与linux信号x相关的严重错误
130通过Ctrl+C终止的命令
255正常范围之外的退出状态码
* exit命令

	结束时指定一个退出状态码;

	`exit 5`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值