Ubuntuで$ PATHをデフォルト値にリセットするにはどうすればよいですか?


31

$PATH新しいディレクトリを追加しようとしたときに、誤ってすべてのディレクトリの設定を解除しました~/.bashrc。編集中に新しいターミナルウィンドウを開きましたが、現在$PATHは空です。別のドライブ$PATHから起動して、このドライブを再度起動することはできないのではないかと心配しています。

基本的に、デフォルトの結果はecho $PATH何ですか?


1
そのエクスポート行をコメントアウトするか修正してください。
パンサー

~/.bashrcただし、環境変数を設定するのは間違った場所です。~/.profile代わりにそれを行う必要があります。
ガイラ

はい、わかりました。PATHは、新しいウィンドウの前に開いていた他のターミナルウィンドウで引き続き正常であるため:$PATH、最後に追加してエクスポート行を修正するだけでPATHが復元されました。はい、~/.profile「ユーザーのプライベートビンが存在する場合はそれを含めるようにPATHを設定する」というコードがあります。つまり、$HOME/bin
Cee

回答:


35

あなたの質問に対する答えは:

PATH=$(getconf PATH)

POSIX準拠のシステムで動作します。選択した答えは、既存の既存のコンテンツを消去せずにパスを拡張する正しい方法です。bashを使用する場合、次のことを検討できます。

PATH+=:$mynewdir

sed: No such file or directory非常に長時間実行しているプロセスで誤ってPATHを何も設定しないと(つまり、再起動できなかった)、多くのコマンドを使用するのに問題が発生しました(トラブルの種類)。使用できませんでしたgetconf。パスをリセットするには、を使用しました$(export $(cat /etc/environment)":/usr/bin/additional:/usr/bin/paths")。好奇心のために:/etc/environmentPATH変数は多くのLinuxフレーバーで最初に設定されます。
ニック・ブル

2
その作業は私を驚かせるでしょう。おそらく、周囲の「$(...)」のないものを「エクスポート」するかもしれませんが、そこに何が起こっても何でもあります。「source / etc / ..」を使用します。とにかく、「getconf」が見つからない場合は、「/ usr / bin / getconf」を試してください。
ブルース

後から考えるよりも、完全なパスを使用して最終的なアイデアを優先してください!返事をありがとう
ニック・ブル

1
PATH変数が空の場合、PATH=$(getconf PATH)有用ではありませんが、結果は次のようになりますbash: getconf: No such file or directory
最大N

1
PATHが空の場合、上記のコメントに注意してください。「/ usr / bin / getconf」を試してください。それが機能しない場合は、システムがPOSIXコマンドを格納している場所を学習し、そのディレクトリを使用する必要があります。
ブルース

17

/ etc / environmentにあります:

$ /usr/bin/cat /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

それで、ただそれを調達してください:

$ source /etc/environment 
$ echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

1
猫なしの$ PATHが存在しないので、あなたの答えのような方法では動作しません
ヨーゼフKlimuk

あなたが正しい。答えを修正しました。ありがとうございました!
マヌエルジーザスロドリゲス

8

エクスポート行の末尾に:$ PATHを追加すると、問題が修正されました。例 export PATH=<directory to be added>:$PATH

~/.bash_rcファイルの代わりにこの行をファイルに追加~/.profileして、新しい端末ですぐに効果を確認できるようにします。その他の理由で、https//superuser.com/questions/176404/linux-bash-not-新しいセッションのプロファイルの読み込み

私にとって、echo $PATH新しいディレクトリを追加する前のデフォルトの出力は次のとおりです。

/ usr / lib / lightdm / lightdm:/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin:/ usr / games


3

デフォルトのパスは

/home/_username_/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games 

これがあなたを助けることを願っています


それは私のデフォルトのパスとは異なります。下記参照。
Cee
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.