Ich habe eine Skriptdatei script1.sh
wie unten gezeigt:
#!/usr/bin/env bash
cd /home/userA/scripts
. r1.sh
Wenn ich manuell ein Terminal öffne und es ausführe, . script.sh
funktioniert es einwandfrei.
Aber als ich den unten stehenden Desktop-Launcher zum Ausführen erstellt habe, stand dort Folgendes ROSRUN command not found
.
Dies ist die .desktop
Datei:
[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
Und so r1.sh
sieht es aus:
#!/bin/bash
rosrun r1 r1 \
-p1 $p1 \
-p2 $p2 \
-p3 $p3
Wenn mir also jemand sagen könnte, was der Grund dafür sein könnte, weiß ich nicht, warum es reibungslos läuft, ohne dass dieser Fehler auftritt, wenn ich ein Terminal manuell öffne und es ausführe, und warum der Fehler auftritt, wenn ich .desktop
stattdessen den Launcher verwende?
Antwort1
Wie ich in einem Chat mit dem Fragesteller herausgefunden habe, rosrun
handelt es sich um einen Befehl, den er in seinem definiert hat .bashrc
.
Fügen Sie Ihrer Definition für Rosrun dieselbe hinzu, script1.sh
dann sollte es funktionieren.