script.sh é executado de forma diferente ao abrir manualmente o terminal e ao usar o .desktop launcher

1

Eu tenho um arquivo de script script1.sh como mostrado abaixo:

#!/usr/bin/env bash 

cd /home/userA/scripts

. r1.sh

quando eu abro manualmente um terminal e o executo usando . script.sh ele funciona bem.

Mas quando eu criei o lançador .desktop abaixo para executá-lo, ele diz que ROSRUN command not found .

Este é o arquivo .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

E é assim que r1.sh se parece:

#!/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 suavemente sem que esse erro apareça ao abrir manualmente um terminal e executá-lo, e por que o erro aparece quando eu uso o .desktop launcher?

    
por Tak 23.09.2014 / 19:45

1 resposta

2

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

Adicione a mesma definição de rosrun ao seu script1.sh e isso deve funcionar.

    
por s3lph 23.09.2014 / 20:33