以下に示すようなスクリプト ファイルがありますscript1.sh
。
#!/usr/bin/env bash
cd /home/userA/scripts
. r1.sh
手動でターミナルを開いて実行すると、. script.sh
正常に動作します。
しかし、以下の .desktop ランチャーを作成して実行すると、次のように表示されます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
動作するはずです。