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 にパス通してたっけ??みにくい・・・よしコマンドだ
探す:整形したら探す
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:げ、ダブって登録してた。別にいいけど。