rc.local文件没有工作raspberry pi

时间:2014-05-28 14:25:59

标签: bash raspberry-pi

这是我的/etc/rc.local文件的内容。它应该在我的覆盆子pi登录时运行,但它只是登录(因为我正在使用自动登录)然后什么都不做,即它只是坐在那里pi@raspberrypi ~$_等待命令。我不知道为什么它不起作用,也没有任何关于bash脚本的经验。

它应该挂载一个usb,然后在所说的usb上运行一个文件,但事实并非如此。

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.


    sudo /bin/mount /dev/sda1 /media/robousb
    sudo python media/robousb/Robopython/usercode_old.py

    exit 0

4 个答案:

答案 0 :(得分:4)

我假设你正在运行Raspbian,这几乎就是Debian。

rc.local在登录前以root身份运行,因此您不需要或不需要sudo;它可能导致错误,因此没有发生任何事情。

任何用户登录时运行的用户级命令(与登录前运行的rc.local不同)都可以放入/etc/bash.bashrc。这可能更适用于您的情况,至少是第二个命令。

pi用户的登录命令只能放入/home/pi/.bashrc

答案 1 :(得分:2)

我和RPi3 / Jessie有完全相同的问题。

我建议您通过执行

在bashrc中启动脚本
sudo emacs /home/pi/.bashrc

就我而言,我在EOF写道:

bash /home/pi/jarvis/jarvis.sh -b &

这在每次创业时都很有效。

答案 2 :(得分:1)

我不知道raspberry-pi,但您可以尝试将某些内容写入文件以查看该文件是否正在运行。例如:

touch /tmp/test.txt
echo "$(date) => It's running" > /tmp/test.txt

如果它不起作用,我知道在某些操作系统(例如fedora,rhel,centos)上,该文件的路径为/etc/init.d/rc.local。尝试此路径不需要任何费用;)

答案 3 :(得分:0)

我有同样的问题。在Raspbian论坛是解决方案:

只需将第一行从#!/bin/sh -e更改为

即可
#!/bin/bash 

Ivan X是对的。你不需要sudo命令。