使用shell脚本是,允许向脚本中传递参数

$1-n 标识传递的参数
// test.sh
// $0表示当前文件
echo $0 $1 $2 $3

还有几个特殊字符用来处理参数

echo $# "传递到脚本的参数个数"
echo $* "以一个单字符串显示所有向脚本传递的参数"
echo $$ "脚本运行的当前进程ID号"
echo $! "后台运行的最后一个进程的ID号"
echo $@ "与$*相同,但是使用时加引号,并在引号中返回每个参数。"
echo $- "显示Shell使用的当前选项,与set命令功能相同"
echo $? "显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。"
$*和$@的区别
假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)
网友评论