一个脚本语句runlevel的解释

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

说明:

1)runlevel命令的运行结果

[root@vm1 scripts]# runlevel
N 3

得到N 3,第二列是3。

2)set -- $(runlevel)语句:

set -- N 3

-- 表示清除所有的参数变量,重新设置后面的参数变量。

将N传给$1,将3传给$2。

3)$# 特殊变量的作用获取脚本传参个数,我们传了2个参数。所以$#就是2。

4)然后\$2的意思是:转义字符\得到$2,那么就得到了3这个数字。

5)eval的作用:eval就是把echo的字符串,当做命令解析。

6)两条语句是分号分隔,两条语句按顺序运行。

7)最后$()是解析命令,跟反引号类似。

你可能感兴趣的:(Shell,linux,运维)