script.sh é executado de maneira diferente ao abrir manualmente o terminal e ao usar o iniciador .desktop

script.sh é executado de maneira diferente ao abrir manualmente o terminal e ao usar o iniciador .desktop

Eu tenho um arquivo de script script1.shconforme mostrado abaixo:

#!/usr/bin/env bash 

cd /home/userA/scripts

. r1.sh

quando abro manualmente um terminal e o executo, . script.shele funciona bem.

Mas quando criei o iniciador .desktop abaixo para executá-lo, ele diz isso ROSRUN command not found.

Este é o .desktoparquivo:

[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

E é assim que r1.shparece:

#!/bin/bash 
rosrun r1 r1 \ 
-p1 $p1 \ 
-p2 $p2 \ 
-p3 $p3

Então, se alguém puder, por favor, informe qual pode ser a razão por trás disso acontecer. Como não sei por que ele funciona perfeitamente sem que esse erro apareça ao abrir manualmente um terminal e executá-lo, e por que o erro aparece quando uso .desktopo inicializador?

Responder1

Como descobri em um bate-papo com o solicitante, rosruné um comando que ele definiu em seu arquivo .bashrc.

Adicione a mesma definição para rosrun ao seu script1.she deve funcionar.

informação relacionada