$的应用场景:
——》读取变量的内容:$变量名 或 ${变量名}
——》读取一个命令的输出:$(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}等等