在系统脚本/etc/init.d/sshd 、/etc/rc.d/init.d/firstboot

看到启动级别赋值的方式:

runlevel=$(set -- $(runlevel); eval "echo \$$#" )

有些不解,翻阅资料总结下我的理解:

1set -- $(runlevel)  以提供的参数(命令runlevel得出的内容)取代位置参数,例如 set -- a b c  就是将位置参数设置为$1=a ,$2=b,$3=c 那么$#=3

2$# 取到位置参数的总数,然后\$$# 得到的是相应的位置,本例即\$2 对应的值是3

3eval 告知shell取出eval的参数并再执行一次,由上面可得出 eval "echo 3" 得出启动级别3