ウープスデザイン ブログ

"command not found"と言われたので環境変数(.bash_profile)をいじってみる

2008年5月30日

svnのコマンドを打っても「command not found」と言われた。
faultierに教えてもらったのだけど、どうやら.bash_profileを書きかえてしまっていたらしい。
.bash_profileとはOSX Tigerで使ってるターミナルのshellスクリプトらしいです。bashというシェルの設定ファイルらしいです。

正解コード

alias telnet='telnet-8'
alias ls='ls -FGv'

# Setting PATH for MacPython 2.5
# The orginal version is saved in .bash_profile.pysave
PATH="/usr/local/bin:/opt/local/bin:/library/Frameworks/Python.framework/Versions/Current/bin:$PATH"
export PATH

間違いコード

alias telnet='telnet-8'
alias ls='ls -FGv' 

# Setting PATH for MacPython 2.5
# The orginal version is saved in .bash_profile.pysave
PATH="/library/Frameworks/Python.framework/Versions/Current/bin:$PATH"
export PATH

原因は6行目!

PATH=” “の中に/usr/local/binが無かったせいらしい。そのせいでターミナルさんは「/library/Frameworks/Python.framework/Versions/Current/bin」しか探すところが無くて「この中にはsvnはないよ(´・ω・`)」と言っていたようです。

そういうことなのか!!

覚えたこと

1./usr/local/bin/は書いとけ
2.複数のPATHは:でつなぐ

ということで書き直しました。

間違いコードその2

PATH=$PATH:/usr/local/bin:/library/Frameworks/Python.framework/Versions/Current/bin:

1.$PATHは最後にかかないとダメー
左のPATHからターミナルさんが探しに行くので最初に書いちゃうとコマンドで自分でPATH入力してもスルーされちゃう。
2.” “入れないと。

ということでやっと正解に。

注意

保存したからといってすぐに反映される訳じゃないみたい。ターミナルを開き直すか、

$ source ~/.bash_profile
と打たないとダメらしい。 

echo $PATH
もしくは
env
とコマンドを打つとここに書いた内容を教えてくれるので「そんなコマンド見つからないよー」とターミナルさんに怒られたらすぐにやってみよう。

追記

どうやら微妙にいろいろ間違っているらしい。

1.最初の「間違いコード」の時点でも、PATHは/library/Frameworks/Python.framework/Versions/Current/binだけを通ってるわけじゃない。$PATHもちゃんと存在しているので探してくれたりしているらしい。
2.$PATHが後に来るのは必ずしも正しいって訳じゃない。

Related Posts Plugin for WordPress, Blogger...

イシジマミキにインタビューをする (the interviews)

▲ ページ上部へ戻る

Leave a Reply