Bash(.sh)文件不适用于“执行”,但适用于“在终端中执行”

时间:2019-11-21 13:20:25

标签: python bash raspberry-pi

我正在尝试制作一个在pi启动时执行的脚本。我创建一个.sh文件并使其可执行。之后,我创建一个.desktop文件以使脚本自动启动。

我的sh文件(launcher.sh)

#!/bin/sh
#launcher.sh
cd /home/pi/Desktop/scriptFile/
sudo python script.py
& 

从理论上讲,当我启动设备时它应该可以工作。但这不起作用。当我双击我的launcher.sh文件并单击“执行”时,它不起作用。但是,当我单击“在终端中执行”时,会弹出一个终端窗口,并且我的脚本运行正常。但是它无法启动。

我创建一个简单的脚本,例如: (test.py)

import time, os
while True:
    os.system("scrot tshot.jpg")
    time.sleep(5)

,然后将启动器更改为-> sudo python test.py 重新启动我的设备测试脚本后,按我的意愿工作。因此,对于我的launcher.sh或.desktop文件,这是不对的。他们工作得很好。如果我通过双击launcher.sh和“在终端中执行”来启动主脚本(script.py),我的主脚本也将正常运行。但是我不知道为什么重启后它不起作用。我希望它启动并在后台工作。这是什么问题?

0 个答案:

没有答案