在shell中有很多变量是shell自动为其赋值的,比如$?表示的是上一次命令的执行状态,返回0或者1,现在总结一下其他的:
#! /bin/sh
echo $0
echo $1
echo $2
echo $#
echo $@
echo $*
echo $?
echo $$
其中,$0, $1, $2是获取的命令行参数,比如当我们在命令行中执行shell脚本时: ./args.sh args1, args2, args3
那么,$0就是args.sh, $1就是后面第一个参数args1,以此类推
$#就是命令行参数的个数,在这里就是3
$@就是命令行后面所有的参数,可以放到for循环的in后面,在这里就是 args1 args2 args3
$*同$@
$$ 表示的是当前进程号
本文介绍了Shell脚本中预定义的特殊变量的功能及用法,包括$0,$1等命令行参数、$#参数数量、$@与$*参数列表、$?最后命令的退出状态及$$当前进程ID。
1万+

被折叠的 条评论
为什么被折叠?



