Mac OSXでBashをリセットする方法、.bash_profileが破損し、bashが機能しなくなった


17

私はMacBook Proで、Mountain Lionの最新バージョンを実行しています。

私は本当に助けが必要です..bash_profile(私は思う)を損傷する方法をいくつか管理しましたので、端末を開くたびに以下のエラーが表示されます。

-bash: export: `/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin': not a valid identifier
-bash: export: `/Users/rob/Applications/sbt/bin:': not a valid identifier
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
-bash: find: command not found

何が起こったのかわかりません。sudo、cd、または通常のコマンドはありません。メインディレクトリにアクセスできる唯一の方法は、finderの[フォルダへ移動]コマンドを使用して、使用できないファイルを見つけようとすることです。

さらに、問題を引き起こす可能性のあるファイルを作成したと思うので、.bash_profileを編集して入力しました

sudo nano ./bash_profile

これにより、nanoで新しいファイルが開き、保存されたと思います。この後、実際の.bash_profileを開いて、node.jsのパスを追加しました。

.bash_profileに到達できる場合、軌道に戻すことはできると思いますが、見つけることができません。bashを再インストールする必要がありますか?もしそうなら、私はMacでそれをどのように行うのでしょうか、私は使用してみました

brew install bash

私が得る

-bash: brew: command not found

私が最初にしようとすることは、問題を解決できるように別のシェルに変更することです。その方法については、support.apple.com/kb/TA27005を参照してください。これにより、問題のあるファイルを変更/削除し、シェルをに戻すことができbashます。
ジャラル

ありがとう、私はbashを再インストールしようとしましたが、変更された唯一のもの-bash: export: '/Users/rob/Applications/sbt/bin:': not a valid identifierはなくなっています。私が苦労していることの1つは、最初の行が格納される可能性があることです。
-Strangeone

わかりましたので/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin、.bash_profile に追加しました。bashが修正されたようですが、まだこのエラーが表示されます -bash: export: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin': not a valid identifier
-Strangeone

あなたは次を試すことができます:PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin:$PATH" # Make sure to use double quotes not single quotesそして、新しい行にexport PATH
ジャラル

ありがとう、それはうまくいったようだ。なぜあなたはそれがうまくいくと思ったのか尋ねてもいいですか?
-Strangeone

回答:


12

私のコメントをすべてまとめて答えを出すだけです。

最初にすべきことは、シェルを変更することです。この方法で、bash init-scripts(.bashrc.bash_profile)をロードしないシェルを設定できます-Mac OS Xターミナルアプリでこれを行う方法は、こちらで確認できます:Appleサポート

これで、再びターミナルを開き、お気に入りのコマンドラインエディタを使用して.bash_profileファイルを開くことができるはずです(例:nanoまたはvi):

このファイルPATHでは、ターミナルが実行できるプログラムを見つけるためにターミナルで使用される変数をリセットする必要があります。

これは、次の2行で実行できます。

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH" # Make sure to use double quotes not single quotes And on a new line 
export PATH

これにより、最初にPATHに含めるディレクトリを設定し、このPATHをエクスポートして、このシェルから(エクスポートを介して)開始されたすべてのプログラムで使用できるようにします。


21

⇧⌘。ファイルダイアログに隠しファイルを表示します。TextEditで〜/ .bash_profileを開き、一時的に空白にしてみてください。


+1知らなかった便利なキーボードショートカット:)
ミシェル

注:.bash_profileはホームディレクトリにあります(Users / [ユーザー名] /。bash_profile
Amos

@Lriに感謝します。
Vicky_Vignesh


3

私はこれが古いスレッドであることを知っていますが、他の誰かが同じ問題を抱えていることを期待して、ここに私の解決策を残したかっただけです。

MacOSから端末を実行したときは自分のユーザーで問題ありませんでしたが、sudoに変更すると機能しませんでした(コマンドが見つかりません)。

私はそれを次のように修正しました:

nano ~/.bashrc

エラーの原因となったパスを削除しました。ターミナルを再起動すると、すべてが正常に動作するようになりました。


0

最近、DOSスタイルファイルがOS-Xの両方の.bash *スクリプトに問題を引き起こすことを発見しました。Windowsユーザーと共有するコードにはDOSファイルの末尾を使用する必要があるため、そのgitリポジトリで.bash_profileを編集すると、(ログイン時に)スクリプトを実行するときに多くのエラーメッセージが表示されます。ユーティリティdos2unixが修正しました。


-1

前述の隠しファイルの表示とテキストエディタの使用に加えて、デフォルトのシェルを変更せずに新しいシェルを開く簡単な方法もあります。ターミナルアプリをAltキーを押しながらクリックして、[新しいコマンド...]を選択します。次に、ダイアログに「sh」と入力して実行します。これにより、非bashシェルが開き、そこでファイルを編集できます。将来的には、シェルを開いたままにするか、終了する前に新しい.bash_profileをテストして実行することをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.