1 $相关关键词
shell中与@和n等经常被使用,但是有时候仍然对部分符号记忆不是很深刻,特地整理成表格方便记忆。
- | 描述 | 备注 |
$0 | 当前脚本文件名 | |
$n | 传递给脚本或函数的参数 | |
$# | 传递给脚本或函数的所有参数个数 | |
$* | 传递给脚本或函数的所有参数 | 当它们被双引号(" “)包含时,”$*" 会将所有的参数作为一个整体,以"$1 $2 … n"的形式输出所有参数;"n"的形式输出所有参数; |
$@ | 传递给脚本或函数的所有参数 | “@” 会将各个参数分开,以"$1" “2"…“2”…"n” 的形式输出所有参数。 |
$$ | shell本身的pid | |
$! | Shell最后运行的后台Process的PID | |
$? | 最后运行的命令的结束代码(返回值) | |
$(cmd) | cmd执行命令返回值转换成字符串输出 | 等同于`` |
${} | 变量的正规表达式 | |
2 shell括号梳理
符号 | 描述 | 描述 |
() 小括号 | 指令群组有一个特性,shell会以产生 subshell来执行这组指令 | |
(( )) 双括号 | 这组符号的作用与 let 指令相似,用在算数运算上,是 bash 的内建功能。所以,在执行效率上会比使用 let指令要好许多。 | |
{ }大括号 | 一段指令;函数括号 | 类似于指令群组,但是不会产生subshell |
[] 中括号 | 1、流程控制中判断式子 2、正则表达式中范围 rm -fr 200[1234] | |
[[ ]]双中括号 | 与[]作用基本相同 | |