script.sh는 터미널을 수동으로 열 때와 .desktop 실행기를 사용할 때 다르게 실행됩니다.

script.sh는 터미널을 수동으로 열 때와 .desktop 실행기를 사용할 때 다르게 실행됩니다.

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제대로 작동합니다.

관련 정보