それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

環境変数PATHを見やすく変えるワンライナーを使ってPATH設定をチェック

Linux など シェル・スクリプトのパスを確認するときに、区切り文字が「:」なのでドバっとみにくい。なので、勿論のこと置換をする。

みにくい echo $PATH

takuya@air:~$ echo  $PATH
/usr/local/share/npm/bin:/Users/takuya/.rbenv/shims:/usr/local/sbin:/usr/local/bin:/Users/takuya/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin

えっと、usr/local/bin にパス通してたっけ??みにくい・・・よしコマンドだ

見やすく整形 置換する

echo $PATH | sed   s/:/\\n/g

または、bashの変数展開を受けないように

echo $PATH | sed   's/:/\n/g'

探す:整形したら探す

takuya@air:~$ echo $PATH | sed   s/:/\\n/g | grep -e usr/local/bin
/usr/local/bin
/usr/local/bin

これで、ちゃんと登録されることが確認できます。
*1

パスが登録されてなければ登録する。

以上を使って、パスが登録されてなければ登録するようにbashrcに書く

#!/usr/bin/env bash
if [ -z ` echo $PATH | sed   s/:/\\n/g |  grep -e /usr/local/bin` ]  ; then
	echo not exists. add path
        export PATH=/usr/local/bin:$PATH;
else
	echo already exists . pass.
fi

またはrubyワンライナーで。gsub するのもいいね

takuya@air:~$ echo $PATH | ruby  -pne '$_.gsub!(/:/, "\n")'
/usr/local/share/npm/bin
/Users/takuya/.rbenv/shims
/usr/local/sbin
/usr/local/bin
/Users/takuya/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/opt/X11/bin

2017-03-07 追記

rubyワンライナーすら面倒なので、Bashの変数置換をする方が早い。

→ 詳しくはこちら bashのブレース展開の変数置換でPATHをぱぱっと確認する。 - それマグで!

*1:げ、ダブって登録してた。別にいいけど。