script.sh запускается по-разному при ручном открытии терминала и при использовании .desktop launcher

script.sh запускается по-разному при ручном открытии терминала и при использовании .desktop launcher

У меня есть файл скрипта script1.sh, показанный ниже:

#!/usr/bin/env bash 

cd /home/userA/scripts

. r1.sh

когда я вручную открываю терминал и запускаю его с помощью, . script.shон работает нормально.

Но когда я создал для запуска указанный ниже .desktop launcher, он сказал, что 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и все должно заработать.

Связанный контент