【问题标题】:Shell script not working at startup even it add in /etc/rc.local即使添加到 /etc/rc.local 中,Shell 脚本也无法在启动时运行
【发布时间】:2014-05-04 09:40:06
【问题描述】:

我的 shell 脚本在启动时无法运行,即使它添加到 /etc/rc.local。 它也是一个可执行的外壳。 像这样启动我的脚本

ash!/bin/sh -e
sh 'home/project/myscript.sh'
exit 0

但它在 sudo /etc/init.d/rc.local start 中工作

【问题讨论】:

  • 你的用户有权限运行它吗?
  • 你设置了rc.local的执行吗?该文件通常在不执行的情况下安装,只能通过设置启用。
  • 是的,它在/etc/init.d/rc.local start中工作
  • 我设置了 chmod +x /etc/rc.local,但没有进展。我的权限是这样的 ls -l /etc/rc.local -rwxrwxr-x 1 root eyenet 63 2014-03-26 12:19 /etc/rc.local

标签: shell ubuntu


【解决方案1】:

关于……

ash!/bin/sh -e

这不是一个有效的 shebang/hashbang,应该是

#!/bin/sh -e

关于……

sh 'home/project/myscript.sh'
  1. 使用myscript.sh 的绝对路径
  2. 如果这个文件有一个像上面那样的适当的 shebang,你就不需要sh,就像这样称呼它

    /foo/bar/home/project/myscript.sh
    

关于……

exit 0

这是多余的/隐含的,因此不需要,您可以将其删除。

【讨论】:

  • ok 脚本运行成功,但我有另一个问题我的脚本包含“python manage.py runserver 192.168.1.25:1033”。在从启动运行的脚本期间,这不起作用,但“python manage. py runserver 127.0.0.0:8000" 工作成功
  • 同样的问题,可能找不到manage.py。您需要使用绝对路径。
  • iam 使用 cd home/project。在 manage.py 上没问题。如何在 shell 脚本上设置外部 ip,如 192.168.1.25:1033 以在启动时启动 django?使用像“127.0.0.0:8000”这样的本地 ip 可以正常工作,但 192.168.1.25:1033 不能正常工作。我认为问题出在 ip 设置中
猜你喜欢
  • 1970-01-01
  • 2011-12-08
  • 2016-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多