我有一个 .sh 脚本调用 mainSc.sh,如下所示:
#!/bin/bash
{
cd /home/myrepository
export LD_LIBRARY_PATH=/home/myrepository/build/src/
./myscript.sh | python mypythonscript.py
} || {
notify-send "it didn't work..."
}
我的问题是,当我从终端(./mainSc.sh)启动它时,它工作正常,而当我尝试从我创建的.desktop启动它时,它启动并工作,直到./myscript.sh 和我的python脚本不起作用...我真的不明白为什么......
多谢 !
答案1
如果您正在处理标准输入myscript.sh
(例如,等待用户输入),则可以轻松解释此行为。由于没有连接终端,您的脚本将终止,就像cat
会做的那样。
答案2
感谢 MayeulC,我找到了另一种选择:
在终端启动后,我的 .desktop 中的命令现在是:
gnome-terminal -e /home/myrepository/myscript.sh
这样我就可以监控所有代码的执行并以更简单的方式解决问题!
我发现当我通过 .desktop 或终端启动它时,我的 python 脚本不是由同一版本的 python 执行的(但我还不知道原因)。
我会努力的!谢谢
滴定