環境変数を編集したいです$PATH
。いくつかのチュートリアルとそのような他の情報源によるとQ&A)、最も一般的な方法は編集することです~/.profile
。しかし、私にはそのようなファイルは存在しません。どうですか? (システムによって異なる名前がありますか?新しく作成する必要がありますか?何を入れるべきですか?別の方法がありますか?)
私はネットワーククラスタのユーザーであり、グローバル環境変数を編集したくありません。~/.bashrc
私のユーザーのために何かを変更する前に編集したことがあり、いくつかのファイルがありましたが、ファイルはありません~/.
でした~/.profile
。
私はUbuntu 16.04.2 LTS、コード名:Xenialを使用しています。echo $PATH
一部のグローバルbinディレクトリのみを提供していますが、一部のユーザー固有のbinをインストールした後に/path/to/home~/expanded/.local/bin/
PATHに追加したいと思います。
答え1
ファイルがある場合は~/.bash_profile
編集してください(使用しているようです(Linuxを使用して以前に編集したファイルがbash
あると述べたため))。~/.bashrc
シェルは存在しない場合にのみ読み取りを試みますbash
。ファイルがすべて存在しない場合は作成できます。~/.profile
~/.bash_profile
~/.bash_profile
追加したい行は次のとおりです。
PATH="$HOME/.local/bin:$PATH"
または
PATH="$PATH:$HOME/.local/bin"
追加したディレクトリを最初に検索するのか、最後に検索するのかによって異なります。
変数はすでにエクスポートされているためexport
必要ありません。PATH
$HOME
と同じ~
ですが、IMHOはシェルスクリプトでより表現力に優れています。また、適切な変数のように動作しますが、~
そうではありません。たとえば、参照してください。二重引用符の中でチルダ(〜)が拡張されないのはなぜですか?
/
また、Unixではパスがバックスラッシュ()ではなくスラッシュ()で区切られているため、代わりにバックスラッシュが\
必要です。~/.bash_profile
~\.bash_profile
ほとんどのsh
同様のシェル(1つしかありませんbash
)は、.profile
ログインシェルで始まるときにユーザーのホームディレクトリを読み取ります。そのため、使用されている特定の.profile
シェルではなく言及にリンクした回答は、質問.bash_profile
には記載されていません。
bash
たとえば、一部のシェルは、独自の特殊起動ファイルがある場合は無視します。