2016-10-01 3 views
0

無効なパスを私のbashrcに入れました。私の端末は動作しません。私はbash_profileと私のbashrcを削除しましたが、それでも動作させることはできません。悪いPATHで私の端末を壊した

私はターミナルで使うすべてのコマンドは私にエラーを与える:

sh: parse_git_branch: command not found

これは私がGitの自動補完のための私のbash_profileに持っていたものでした。問題は、私が/bin/rm <file>を使用してファイルを削除した後で、エラーが発生するので、source ~/.bash_profileで変更を適用できません。私はthis questionthis questionを見ましたが、まだ運がないです。

このようなことを壊した後にコマンドラインを修正するにはどうすればよいですか?あなたは次のようなコマンド使用して、現在のセッションで正しいPATHをエクスポートすることができ

+0

お問い合わせくださいあなたのシステム管理者に問い合わせるか、[Super User](http://superuser.com/tour)に問い合わせてください。 – Cyrus

+0

新しい端末を開くか、またはログアウト/ログインするだけです。または再起動します。 –

答えて

2

:これを使用した後

export PATH=/usr/local/bin:/usr/bin:/bin

を、あなたのbashrcにを供給することができるはずです。

0

あなたは常に正しい現在のシェルセッションの残りのためのコマンドラインでパスを変更することができます。PATH="/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin:"

PATHをエクスポートすると、あなたの問題を解決することはできません。 PATHの値を子のシェル/プロセスにのみエクスポートします。これは、シェル環境内で作業している間にスコープが現在のシェルプロセス(およびその子プロセス)に限定されているため、コマンドラインからPATH変数をリセット/変更することと同じです(上の図を参照)。コマンドライン)。 新しい端末を開くと(親プロセスである新しいログインシェルを起動すると)、bashはリソースファイル(.bash_profileと.bashrc)が存在しなくなりました。

私たちはスコープを広げ、今後のすべてのバース(シェルプロセス - 新しいシェル、シェル内のシェルなど)に変更を加えたいということをbashに伝える必要があります。これらの文をリソースファイルに書き込むことです。

一度PATHを設定すると、エクスポートするかどうかにかかわらず、すべてのシェルセッションはそれらのリソース(これらのファイルに格納されているエイリアス、コマンド、変数、関数)プロセスは、他の作業を行う前に常にファイルを参照します(つまり、エクスポートしようとしているものを効果的にプリエンプティブにインポートします)。

bashは他のスクリプトやプログラムと同じです。あなたはすべての入力とポインタとショートカットを取り除きましたが、今はちょうどかなり馬鹿にされていますので、あなたが何かを探す場所を教えることができるまで明示しなければなりません(検索するPATHを与えてください)それとあなたの会話を短縮します。

あなたの.bash_profileのバックアップがない場合は、ここにあなたが使用できる一つだ。

# This loads in the configuration in .bashrc 
    # Put all configuration in there! 
    if [ -f ~/.bashrc ]; then 
     source ~/.bashrc 
    fi 

そして、ここでは、あなたが始めることができ.bashrcのだ。

export PATH="/bin:/sbin:/usr/local/bin:/usr/bin:/usr/sbin:" 
関連する問題