手動開啟終端機和使用 .desktop 啟動器時 script.sh 的運作方式不同

手動開啟終端機和使用 .desktop 啟動器時 script.sh 的運作方式不同

我有一個腳本文件,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,它應該可以工作。

相關內容