Linux下$符号的应用场景自结

时间:2022-07-20 15:46:44

$的应用场景:

         ——》读取变量的内容:$变量名  或 ${变量名}

         ——》读取一个命令的输出:$(command)   例如$(uname -r)

         ——》$本身就是一个变量:表示当前shell的PID,可以使用echo $$来看看

         ——》计算表达式:$((表达式)),例如$((4+9))

         ——》在执行shell脚本文件时,后面带有参数的情况下,在脚本文件中可以通过$可以操作这些参数

                           a)$#:参数总共的个数,不包括脚本名称

                           b)$@:列出所有的参数,不包括脚本名称

                           c)$*:和$@差不多,列出所有的参数

                           d)$0:脚本文件的名称

                           e)$n:取出第n个参数

          ——》在shell scripts文件中,如果定义了function,在function内部可以使用$来操作一些东西(注意与上一条相区别开来)

                           a)$0:表示的shell scripts文件的名称

                           b)$n:取出在调用function处,后面跟着的第n参数

                           备注,在shell脚本的函数体中使用$n取到的是调用函数时传入的位置参数,不是调用脚本时传入的参数。如果想在脚本函数体中使用调用脚本时传入的参数的话,那么将脚本文件的参数以位置参数的形式传递给函数。

          ——》变量内容的删除、替代和替换(待归纳)

                           类似于这样的形式,${变量#关键字},${变量%关键字},${变量/旧字符串/新字符串},${str-expr},${str+expr},${str:=expr}等等