えいあーるれいの技術日記

ROS2やM5 Stack、Ubuntuについて書いています

ROSの環境をpyenvのような表示で区別する

 ROS1とROS2を併用していると、「あれ、これどっちのROSだっけ?」となることがたびたび起こりました。そこで、ターミナルの表示をpyenvのようにして分かりやすくすることにしました。

※pyenvなどの表示変更系プラグインの使用は想定していないので、競合した場合は後に実行された表示が適用されることになります。

記載方法

  • bashrcの末尾や環境をロードする専用のスクリプトの末尾に以下のように記載する。
if ! test -z "$ROS_DISTRO"; then
export PS1='($ROS_DISTRO):\[\033[01;34m\]\w\[\033[00m\]\$ '
fi

ROSの環境をロードした状態でコマンドが実行されると表示が変更されます。

f:id:Ray_ar:20210403140340p:plain

ROSの環境が通っていないときは?

  • if ! test -z "$ROS_DISTRO"で、ROS_DISTROが通っているときだけ表示を変更します。そのため、なにもROSの環境が設定されていないときは表示が変わることはありません。(逆に、~/.bashrcを再度ロードしてもROS_DISTROが残っていれば表示が戻ることもありません。)