shell中特殊字符(串)

$$ 含义: 表示运行当前脚本的pid

     例子: echo "current pid: $$"

\   含义:字符串中的转义符号

     例子: echo "\$\$ is used to get pid: $$"

$@ 和 $* 含义:表示所有的参数

     例子: echo "all arg: $*" 或者 echo "all arg: $@"

     两者的区别在于$@比$*更高级,它不使用IFS环境变量,所以即使IFS为空,参数也不会挤在一起,故推荐用$@

$+数字 含义:运行脚本的参数

     例子:echo "cmd: $0 $1"

     注意,调用字脚本的时候,其参数显示的是调用子脚本时带的参数,而与调用父脚本的参数无关

""   含义:表示字符串,可引用除$、` 、\ 、外的任意字符或字符串,""中的变量能够正常显示变量值。要表示字符串的时候最好加上""

      例子:"$name is me"  会打印出变量name的值

''    含义:也表示字符串,与""类似, 但是shell会忽略任何的引用值。

      例子: '$name is me'   仅仅按照原样打印$name

      注意,''会在双引号中失去忽略引用的作用,比如 "'$name' is me" 同样会大出变量name的指

` ` 含义:用于设置系统命令的输出到变量,shell会将` `中的内容作为一个系统命令并执行质。

      例子: echo `date`

      注意: ``中可以同时加入多个命令,用:隔开就好,但是``不能嵌套

      例子: echo `cd "."; pwd`  用于获得当前的完整绝对路径

原文地址:https://www.cnblogs.com/zhangzhang/p/2859774.html