shell脚本中的特殊字符
常见的特殊字符
#:注释
~:当前用户的家目录
-:上一次的工作目录
\:转义字符
$:变量替换(Variable Substitution)的代表符号
;:连续指令,例如 cd temp;mkdir aa;cd aa;连续指令
.:当前工作目录
..:当前工作目录的上一级目录
``:倒引号,command表示被倒括号括住的command的字符串为命令
'':单引号,被单引号用括住的内容,将被视为单一字串,在引号内的代表变量的$符号,没有作用,会被视为一般符号处理,防止任何变量替换。例如
value=3;echo '$value',输出结果为$value
"":双引号,被双引号用括住的内容,将被视为单一字串,在双引号内的代表变量的$value会被替换为value的值。例如:value=3;echo "$value",输出结果为3
|:管道,连结上个指令的标准输出,做为下个指令的标准输入
::这是一个内建指令:"什么事都不干",但返回状态值 0
$?:状态值,echo $?用于查询上一条指令执行的返回值。(Linux中所有的程序在结束时,都会返回一个数字值,这个值叫做返回值,或者称为错误号 ( Error Number 环境变量 $?,保存着前一个程序的返回值,只要返回值是 0,就代表程序执行成功了,否则执行错误,可以通过perror errorNumber查看错误码的含义)
$的常见用法:
1)$变量名,获取变量的值
2)${变量名},获取变量的值
3)$(脚本),获取脚本的执行结果,等价于 脚本
4)$((运算式)),获取运算式的结果,等价于$[运算式],例如echo $((1+2+3)),输出结果为6
5)$0,当前脚本名
6)$n,n>1,表示第n个参数
7)$#,传递给脚本的参数个数
8)$*,传递给脚本的所有参数
9)$?,上个命令的退出状态/返回值
10) $$,当前shell的pid
浙公网安备 33010602011771号