$$ 含义: 表示运行当前脚本的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` 用于获得当前的完整绝对路径