命令 | 意义 |
$1, $2, $3... | 添加到Shell的各参数值。$1是第1参数、$2是第2参数…在第九个参数之后,必须在变量数字加上{},例如${10} |
$0 | 获取shell在命令行启动的脚本名 $bashname $0 返回不包含路径、不包含执行命令的脚本名 |
$? | 最后运行的命令的结束代码(返回值)。显示最后命令的退出状态。0表示没有错误,其他值表示有错误 |
cat <<EOF | cat >file记录键盘的输入,相当于从键盘创建文件,并且只能创建新文件,不能编辑已有文件。“>”是数据重定向,会将你输入的文本内容输出到file中。以Ctrl+d最为输入的结束标志 |
EOF是end of file,表示文本结束符。cat <<EOF可以避免使用多行echo命令的方式,并实现多行输出的结果。 | |
$@ | 表示所有参数,将所有参数视为同一个字符串的多个独立单词 |
$() | $(command)表示引用command命令,并返回命令的执行结果。与反引号作用类似,但是建议使用$() |
$* | 将所有参数视为一个单词保存 |
$$ | 当前进程的PID |
$! | 执行上一个后台命令的PID号 |
$# | 所有参数的个数 |
${!#} | 引用命令行的最后一个参数。注意不是${$#} |
&- | 关闭文件描述符,需要将文件描述符重定向到特殊符号&- |
exec 3>&-: 该语句关闭文件描述符3,不再在脚本中使用它。如果在关闭后继续使用这个描述符,那么shell会生成错误信息 |