Shell脚本(2)

命令替换:

  Shell脚本可以从命令输出中提取信息,并将其赋给变量

  方法:

    1.反引号字符:`

    2.格式:$()

      例子:#/bin/bash

        test=$(date)

        echo "the date and time are:" $test

输出输入重定向:

  将命令输出的内容重定向到文件中

  方法:

    1.输出重定向:>(重定向到文件中,如果输出文件已存在,则覆盖原文件);

           >>(重定向到文件中,追加到文件末尾)

    2.输入重定向:<(将文件内容重定向到输入命令中);

    3.内联输入重定向:<<(必须指定一个文本标记来划分输入数据的开始和结尾,任何字符串都可以作为文本标记,但是数据的开头和结尾的文本标记必须一致)

执行数学运算:

  方法:

    1.使用expr命令:

      

      例子:expr 1+2

      对于一些在Shell中另有含义的字符如:*,则需要用进行转义

    2.使用方括号:

      使用美元符号$和方括号[]把需要计算的式子括起来,使用这种方法时,方括号中不需要用转义符号

      例子:var=$[1+2]

    3.bc计算器的用法:

      bash计算器能识别:

        1.变量

        2.注释

        3.表达式

        4.数字

        5.编程语句

        6.函数

      bash计算器显示浮点数

        使用scale设置显示小数点后的位数(scale默认值为0)

        例子(显示小数点后面4位数):scale=4

      退出bc计算器:quit

    4.bc计算器在Shell中如何使用

      例子:variable=$(echo "options;expression"|bc)    //如果需要传递不止1个变量,需要用分号(;)将其隔开

    5.如何处理大量运算

      例子:variable=$(bc<<EOF

         options

         statements

         expressions

         EOF

         )

退出脚本

  Shell中的每个命令都用退出状态码来告诉Shell命令执行完毕,退出状态码是一个0~255的值,当命令结束运行时会由命令传给Shell。可以捕获这个值并且在脚本中使用

   Linux中提供一个专门的变量$?来保存上一个已经执行完的命令状态码

   命令运行成功时的退出状态码是0,命令运行出现错误,退出状态码则为正数

   命令状态码数值含义如下:

      

   exit命令允许你在脚本结束时指定退出状态码

原文地址:https://www.cnblogs.com/feather-crane/p/11888555.html