我遇到了一个奇怪的问题。
我的设定: Ubuntu 12.04 LTS
在桌面上的文件夹中自编写shell脚本和一个ruby脚本(结尾*.rb
)。
我通过使用文件/etc/rc.local
实现了自动启动,其中我添加了启动脚本的路径:
[...]
sh /home/username/Desktop/shell/startup.sh
exit 0
该文件中没有其他脚本。
所以在这里,startup.sh
执行剩下的工作。
1.另一个shell脚本。
2.红宝石文件
3. sendmail shellcript
4.关闭脚本
一切都很好,但不是ruby脚本。
奇怪的是,当我从终端启动startup.sh时,它工作正常。
我检查了路径,读/写权限,所有者......但没有任何作用。
我还尝试使用startup.sh
文件执行rcX.d
但我得到了相同的结果。
我在rc.local
中添加了一个睡眠计时器,以确保所有内容都在后台加载。
使用gnome-system-monitor我可以看到执行每个文件的rc.local,但至少它会转到关闭脚本。
脚本不会同时执行,一个接一个地执行。
我尝试的一切都没用。 ruby脚本被“忽略”。
我希望你能帮助我,因为我已经没有任何想法了。
问候, 英里
更新
rc.local中
#!/bin/sh -e
sleep 3m
../home/milesdavis/Desktop/shell/startup.sh
exit 0
startup.sh
#!/bin/bash
ruby /home/milesdavis/Desktop/shell/myrubyscript.rb
sh /home/milesdavis/Desktop/shell/shutdown.sh
myrubyscript.rb
#!/usr/bin/ruby
require 'glib2'
require 'gtk2'
require 'vte'
require 'rexml/document'
...
shutdown.sh
#!/bin/bash
shutdown -h 10
我想再说一遍,它直接进入关机脚本并执行它。