为什么test001可以打开而test002打不开呢

linux初学者学到shell编程,在linux中用vim编辑器编辑了两个很基础的脚本

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/727183
  • 除此之外, 这篇博客: Linux自定义可运行shell脚本并设置开机自启中的 增加test服务 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    使用chkconfig命令将刚刚增加到init目录下的脚本添加成为一个新的服务chkconfig --add test
    这时候查看服务列表即可发现多了test服务

    [root@VM_0_8_centos csdn]# chkconfig --list
    netconsole     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
    network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    [root@VM_0_8_centos csdn]# chkconfig --add test
    [root@VM_0_8_centos csdn]# chkconfig --list
    netconsole     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
    network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    test			0:off	1:off	2:on	3:on	4:on	5:off	6:off
    

    此时可以发现test服务的启动等级就是按照脚本中注明的启动等级# chkconfig:2345 60 30来的,我们也可以通过命令修改(下面的chkconfig命令详解中有示例操作)。
    其实这一步就相当于在系统的启动等级目录(/etc/rc0.d//etc/rc6.d)下创建了相应脚本的连接。

    # 这里没有test服务
    [root@VM_0_8_centos csdn]# ll /etc/rc3.d/
    total 0
    lrwxrwxrwx. 1 root root 20 Apr 21  2016 K50netconsole -> ../init.d/netconsole
    lrwxrwxrwx. 1 root root 17 Apr 21  2016 S10network -> ../init.d/network
    

    而且连接的命名是有规则的,以S(系统在启动的时候,运行脚 本test2,就会添加一个start参数,告诉脚本,现在是启动模式)或K(系统在关闭系统的时候,会运行test2,添加一个stop,告诉脚本,现在是关闭模式)作为第一个字符。后面的数字为启动或关闭的优先级(0-100,也就是在脚本中注明的内容),后面就是脚本的名称。所以根据设置的运行等级和启动关闭的优先级不同,在相对应的启动等级目录中的连接名称也是分为两种。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

你在当前目录执行 ls 命令看看。应该是只有脚本 1,脚本 2 你可能存错位置了。