1,$@的作用
$@ 传递给脚本的所以参数
$* 传递给脚本的所以参数
$# 传递给脚本的参数个数
$0 脚本本身
$n 传给脚本的第n个参数
$? 上个脚本或命令的退出状态
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
PS: 上面的脚本也适合函数。
$ 和 $@ 区别:
$ 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号" “包含时,都以”$1" “$2"…"$n” 的形式输出所有参数,被双引号" “包含时,”$*" 会将所有的参数作为一个整体;"@" 会将各个参数分开,以换行形式输出所有参数。
2,case用法
case $变量名 in
"值 1")
;;
# 如果变量的值等于值 1,则执行程序1,值
2")
# 如果变量的值等于2,则执行程序2
# …省略其他分支…
;;
*)
# 如果变量的值都不是以上的值,则执行此程序
;;
esac
3,shift用途
将位置参数左移,如shift 2将$3变成$1。可以用来访问多余9的位置参数。
4,read用途
读取用户输入