和runlevel有关的是30-32行:
30 if [ "$UPSTART_EVENTS" = "startup" ]; then
31 [ -f /etc/inittab ] && runlevel=$(/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab)
32 [ -z "$runlevel" ] && runlevel="3"
#----------------------------------------------------------------------------------------------------
30行:如果触发的 EVENT是“startup”就执行后面的内容。
31 行:/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab的意思是:以“:”作为字段分隔符,找出 /etc/inittab里面 第三个字段是initdefault,并且不是以“#”开头的行(#开头一般为注释),然后提取出第二个字段。
连起来就是:如果存在/etc/inittab 这个文件,runlevel的值就取刚才提取的字符串。
32行:如果现在runlevel为空,就让runlevel取“3”。这个值可以改。不过最好还是3。
所以删掉inittab ,第32行后半段赋值语句生效,最后运行级别就是3。