- 登录到shell成功后会在光标左侧发现$,它是命令提示符,代表普通帐号登录,#是 代表root帐号登录。
- $可作为取变量运算符,如echo $PATH 将会输出PATH 变量的内容
- a=$((1+2))可将a赋值为3,而不是字符串“1+2”,也就是运算功能
- a=$(ls /home) 可将括号内命令执行结果赋值给a,有先执行命令的意思
- 在正则表达式中,$是行尾的意思,如"a$"代表以a为行尾的行
- 还有如果你用vi的话,一般模式下,$是光标移到行尾的命令
$1/$2/$@/$?/$#/$*/$!/$0/$$ 分别代表什么含义
$#:传入脚本的参数个数;
$0: 脚本自身的名称;
$1: 传入脚本的第一个参数;
$2: 传入脚本的第二个参数;
$@: 传入脚本的所有参数;
$*:传入脚本的所有参数;
$$: 脚本执行的进程id;
$!:后台运行的最后一个进程的ID
$?: 上一条命令执行后的状态,结果为0表示执行正常,结果为1表示执行异常;
其中$@与$*正常情况下一样,当在脚本中将$*加上双引号作为“$*”引用时,此时将输入的所有参数当做一个整体字符串对待。比如输入参数有a b c三个参数,则“$*”表示“a b c”一个字符串。