web-dev-qa-db-ja.com

Ubuntu:$ PATHを工場出荷時のデフォルトにリセット

パスにディレクトリを追加するときに間違えて実行しました

$ PATH=/path/to/my/directory/

の代わりに

$ PATH=/path/to/my/directory/:$PATH

その結果、私の$PATH変数にのみ自分のディレクトリが含まれるようになりました。これはもちろん問題です。以前はパスに何があったのか正確にはわかりませんが、工場出荷時のデフォルトにリセットできれば、そこから始めて、必要に応じて追加することができます。

これを達成する簡単な方法はありますか?

5
Tomas Aschan

可能であれば、log outおよびrelog inを使用します。

それ以外の場合は、

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

不足しているエントリを追加します。

7
Alain Pannetier

Bash(1)のマニュアルページから:

bashがインタラクティブログインシェルとして、または-loginオプションを使用して非インタラクティブシェルとして呼び出されると、最初にファイル/ etc /からコマンドを読み取り、実行しますそのファイルが存在する場合は、プロファイル。そのファイルを読み取った後、〜/ .bash_profile、〜/ .bash_login、〜/ .profileの順に検索し、最初に存在して読み取り可能なコマンドからコマンドを読み取って実行します。

したがって、システムでは、/ etc/profileのデフォルトのPATH値を確認し、それを設定して、独自のログイン/プロファイルbashスクリプトがPATHに対して実行する内容に基づいて構築する必要がある場合がほとんどです。

Bash(1)ではなく他のシェルを使用している場合は、「manthatShellName」を使用して、呼び出し動作を確認し、実行します。同様の手順。

簡単なショートカットとして、現在のシェルで(ここでもbash(1)を使用していると仮定して)、「bash --login」と入力して新しいログインシェルプロセスを取得します。次に、パスの値を保存します

echo $PATH > /tmp/myPath.txt

次に、ログインシェルから「終了」し、次のように入力します

export PATH=`cat /tmp/myPath.txt`

(最後の式でのバックティックの使用に注意してください)。

または、コピー/貼り付け機能を備えたターミナルアプリの場合は、「bash --login」を実行し、PATH値をクリップボードにコピーして終了し、「PATHをエクスポート」してPATH値を貼り付けることができます。

2
Viktor Haag

新しいユーザーを作成し、そこから$PATHエントリをコピーすることもできます。

それとは別に、Ubuntuサーバーで私は見つけました:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
0
slhck

ターミナルでbashrcファイルを開きます

gedit ~/.bashrc

最後の行に追加

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$PATH export PATH

次に、ファイルを保存します。

確認するには、新しいターミナルを開いて次のように入力します。

printenv

0
Jason