Eu tenho um arquivo de script script1.sh
conforme mostrado abaixo:
#!/usr/bin/env bash
cd /home/userA/scripts
. r1.sh
quando abro manualmente um terminal e o executo, . script.sh
ele funciona bem.
Mas quando criei o iniciador .desktop abaixo para executá-lo, ele diz isso ROSRUN command not found
.
Este é o .desktop
arquivo:
[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
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 perfeitamente sem que esse erro apareça ao abrir manualmente um terminal e executá-lo, e por que o erro aparece quando uso .desktop
o 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.sh
e deve funcionar.