プロが教える店舗&オフィスのセキュリティ対策術

UNIXのbashエラーでnot a valid identifer
初心者で勉強不足での質問となるかもしれませんが、どうか一緒に考えてくださると助かります。
また説明不足になるかもしれませんので状態など説明不足の点がありましたらご指摘下さい。

本題ですが、Mac os x 10.7上で付属のrubyをアップデートしようとしました。
こちらの方の記事を参考に
http://nick.hateblo.jp/entry/20110120/1295544773

上記URLの通りに作業を行っていたのですが
最後に間違ったパスを通してしまい、

一度ターミナル(UNIX)を終了したのですが、
今度はターミナルを開いた瞬間に
-bash: export: ' :/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:not a valid identifier
というのが表示されるようになり、
lsコマンドやcdコマンドを行うこともsu -を行うことも出来なくなりました。
-bash: ls: command not found
このエラーが返ってきます。
どのような原因が考えることが出来、またどのような対処を行うことが出来ますか?
大変なことをしでかしたのではないかと冷や汗です。
どうか宜しくお願いします。

A 回答 (5件)

No.3です。


まず、MacPortsをインストールして、それを使ってrubyの新しいバージョンを入れることを強くお勧めします。
その時にruby_selectもインストールされるはずです、ruby19だと
sudo port select ruby ruby19
で切り替えができます。

余程事情がないと、手動で入れることをお勧めしません。バージョンアップなどをすると残骸が残って思わぬトラブルになることもあります。インストールしたrubyは消してしまった方が安全です。
多分、/usr/localの中身を全部消しても問題はないかと思いますが、自己判断で。

~/.bash_profileは自分で設定していなければ、消去してしまって問題ないはずです。
MacPortsを既にしているように見えるのですが、それであれば~/.profileに設定が書き込まれているはずです。
そちらも確認してください。~/.bash_profileがあることで、~/.profileが読み込まれないこともありますので、注意してください。
    • good
    • 0
この回答へのお礼

有り難う御座います。
少しずつですが理解しながら前に進めています。
本当に感謝してます!

お礼日時:2013/07/09 13:31

echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile


で加えた1行が間違っていると思います。
binと:$PATHとの間に空白等が入っていて、PATH=/usr/local/bin と :$PATH に分解され、
:$PATHを展開した :/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin を「変数名」と解釈しようとしたけど、不正な名前だった、ということです。
( 正しい (valid) 識別名(identifier)ではない(not) )
    • good
    • 0
この回答へのお礼

ありがとうございます。
一度clearにしてもう一度行ってみたいと思います。

お礼日時:2013/07/09 13:31

既に書かれようにPATHがこわれているようです。

exportは受付けると思いますので、
ターミナルで
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
と入れるとなおるはずです。

あとは、~/.bash_profileを修正してすれば正常に動くと思います。
vi ~/.bash_profile
などで修正してみてください。

リンクされている記事はちょっと古くて、今はMacPortsでruby19やruby20を入れると
ruby_selectもインストールされます。これでバージョンを簡単に切り替えられます。

この回答への補足

正しいご指摘ありがとうございます。
あともう一つだけ勉強不足かと思いますが
viで~/.bash_profileファイルを編集しようとしているのですがどう修正したらいいのか具体的に教えて頂ければ非常に嬉しいです。

補足日時:2013/07/08 18:47
    • good
    • 0

> -bash: export: (中略):not a valid identifier



export $PATHしているのでは。exportの使い方を確認してみるとか。

> lsコマンドやcdコマンドを行うこともsu -を行うことも出来なくなりました。

コマンド検索パスの設定を壊してしまったのでしょう。簡単に治せるかもしれないし、もしかするとリカバリしないとダメかも。
まずは絶対パス指定でコマンド実行できるか試してみるとか。
    • good
    • 0
この回答へのお礼

ご回答有り難うございます。bash_profileの修正まではこぎ着けました。

お礼日時:2013/07/08 18:50

export文を書き誤ったのが原因です。



.bash_profileを修正してください。

これに懲りて、自分で意味を理解できないコマンドは打たないように。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2013/07/08 18:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!