script1.sh
我有一个如下所示的脚本文件:
#!/usr/bin/env bash
cd /home/userA/scripts
. r1.sh
当我手动打开一个终端并运行它时,. script.sh
它运行正常。
但是当我创建下面的 .desktop 启动器来运行时,它说ROSRUN command not found
。
这是.desktop
文件:
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Icon[en_AU]=/home/userA/Pics/pic1.png
Name[en_AU]=automatic
Exec=/home/userA/Desktop/script1.sh
Comment[en_AU]=comment
Name=automatic
Comment=comment
Icon=/home/userA/Pics/pic1.png
如下所示r1.sh
:
#!/bin/bash
rosrun r1 r1 \
-p1 $p1 \
-p2 $p2 \
-p3 $p3
所以如果有人能告诉我这背后的原因是什么的话。因为我不知道为什么在手动打开终端并运行它时它运行顺利而没有出现这个错误,为什么当我使用.desktop
启动器时会出现错误?
答案1
正如我在与提问者聊天中发现的那样,rosrun
这是他在他的 中定义的命令.bashrc
。
为 rosrun 添加相同的定义,script1.sh
它就可以工作了。