shell使用方法
2021-02-01, updated 2021-10-31
调试方法
-x 进入跟踪方式,显示所执行的每一条命令
脚本参数的获取
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。
当
$*
和$@
不被双引号" “包围时,它们之间没有任何区别,都是将接收到的每个参数看做一份数据,彼此之间以空格来分隔。但是当它们被双引号” “包含时,就会有区别了:
- “
$*
“会将所有的参数从整体上看做一份数据,而不是把每个参数都看做一份数据。 - “
$@
“仍然将每个参数都看作一份数据,彼此之间是独立的。
比如传递了 5 个参数,那么对于
"$*"
来说,这 5 个参数会合并到一起形成一份数据,它们之间是无法分割的;而对于"$@"
来说,这 5 个参数是相互独立的,它们是 5 份数据。- “
$? 上个命令的退出状态,或函数的返回值。
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。