我想运行一个bash脚本启动我的Parallella板,其中有Ubuntu。我搜索了一下,在这里找到了说明:
我的bash脚本是test.sh,它只有一行:
echo "Hello World" &> /home/qsp/WIP/test/hello.txt1)我尝试的第一种方法是在/etc/rc.local中添加到脚本的aboslute路径:
/home/qsp/WIP/test/test.sh2)我尝试的第二种方法是遵循上述公认的答案。
sudo mv test.sh /etc/init.d/
sudo update-rc.d test.sh defaults 在这两种情况下,脚本都是在启动后执行的,并且在文件夹中创建了一个文件hello.txt。但是,文件的内容是空的(所有者是根用户)。我想知道我是不是错过了什么。谢谢。
======UPDATE=======
根据Skynet的回答,我将脚本更改为:
echo "Hello World" | tee /home/qsp/WIP/test/hello.txt并且脚本在引导正确后写入文件。我还有另一个问题,为什么我原来的&>脚本不能工作,尽管如果从命令行运行,它仍然有效。
发布于 2014-12-18 06:27:54
您应该使用init脚本样式,正如第一个SO问题所引用的那样。就像这样:
case "$1" in
start)
#startup code
;;
stop)
#stop code
;;
restart)
#restart code
;;
esac还请看一下https://github.com/fhd/init-script-template/blob/master/template
发布于 2014-12-18 06:31:22
编辑/etc/rc.local并添加命令之后,
检查您的脚本必须始终以退出0结尾。
还确保通过使用chmod命令使其可执行。
chmod 777 test.sh将输出行更改为
echo "Hello World" | tee /home/qsp/WIP/test/hello.txt发布于 2014-12-18 06:54:52
创建.desktop文件并将系统配置为在登录时自动启动。
创建.desktop文件如下所示
$ vim ~/.config/autostart/test_script.desktop添加以下信息
[Desktop Entry]
Type=Application
Name=Test script
Exec=~/test.sh
X-GNOME-Autostart-enabled=true注意,~/test.sh应该指向您创建的脚本。省省吧。
使其可执行:
$ chmod o+x ~/..config/autostart/test_script.桌面
重新启动,下一次登录时,您的脚本应该运行。
https://stackoverflow.com/questions/27540343
复制相似问题