重複したパス項目 - [閉じる]でどこに設定されているかわかりません。

重複したパス項目 - [閉じる]でどこに設定されているかわかりません。

export PATH=TL; DR bashrcでその行をコメントアウトすると、何かが私のパスを変更し、私のカスタムディレクトリが3倍になりました。


.bashrc最近、パスに2つのカスタムディレクトリを追加するためにmyに1行を追加しました。

export PATH=~/Documents/Code/Own/Scripts/:~/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:$PATH

すべてが大丈夫に見え、問題はありません。しかし、今日、私が持っているディレクトリが何であるかを確認するためにパスをチェックしたところ、カスタムディレクトリが3回表示されることがわかりました。

echo $PATH
/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/myusername/.local/bin:/home/myusername/bin

おかしい、私は中だと思った。私のbashrcでその行をコメントアウトします。何らかの理由でこの行を3回インポートする必要があります。端末で新しいタブを開きました。最初のカスタムディレクトリペアは消えましたが、残りの2つは消えました。まだそこにいる:

/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/myusername/.local/bin:/home/myusername/bin

したがって、セッションごとのパスを格納するGNOME端末の問題かもしれません。 TTY経由でログインしてください。パスが正しいです。重複したエントリはありません(私のbashrcはまだbash_profile行を介してインポートされます)。しかし、問題はxtermを使用して持続します。これは、GNOME 端末の問題に起因しないことを意味します。

私が理解していないのは、bashrcの行をコメントアウトし、他の場所に追加しないときにどのファイルがパスを変更するかです。どんなアイデアがありますか?

答え1

GNOME端末で新しいタブを開くと、空の新しい環境を作成するのではなく、環境が新しいシェルにコピーされます。個人的に私はこれがバグだと思いますが(そして私がGNOMEターミナルを直接使用しない理由の1つ)、開発者にはそれなりの理由があると確信しています。新しいタブを起動して環境をコピーすると、ソーシングを含む一般的な対話型起動ルーチンを実行するシェルが起動します。.bashrc

複数回追加したくない場合は、次のようないくつかのオプションがあります。

  • 他の端末エミュレータに切り替える
  • で修正しない.bashrcでから修正してください。.bash_profileこれはログインプロセスの一部であり、インタラクティブな実行ではないため、新しいタブで使用しないでください(しかし、明らかにGNOME端末は思ったよりも悪いかもしれません)。それでもソースとしてシェルを起動します.bash_profile。最後に使ってからかなりです。
  • 再修正する前に、PATH変数に必要な修正が含まれていることを確認してください。

答え2

ログアウトしてから再度ログインして解決したようで、以前のセッションで行った操作が原因であるようです。

関連情報