$PATH
Ubuntuにディレクトリを追加し、変更を永続的にするにはどうすればよいですか?
$PATH
Ubuntuにディレクトリを追加し、変更を永続的にするにはどうすればよいですか?
回答:
設定されたパス.bash_profile
は、bashログインシェル(bash -l
)でのみ設定されます。パスを入力.profile
すると、デスクトップセッション全体で使用できるようになります。つまり、メタシティでもそれを使用します。
例~/.profile
:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
ところで、プロセスのPATH変数を確認するには、その環境を調べます/proc/[pid]/environ
([pid]をからの番号に置き換えますps axf
)。例えば、使用grep -z "^PATH" /proc/[pid]/environ
bash
ログインシェルは.profile
、どちらか.bash_profile
または.bash_login
存在する場合、解析しません。からman bash
:
〜/ .bash_profile、〜/ .bash_login、および〜/ .profileをこの順序で検索し、存在し、読み取り可能な最初のコマンドからコマンドを読み取り、実行します。
、または対話型の非ログインシェルについては、以下の回答を参照してください.pam_environment
。または、ディスプレイマネージャーセッションに.bashrc
スクリプトを挿入し/etc/profile.d/
たり/etc/X11/Xsession.d/
、影響を与えるために使用したりして、すべてのユーザーに対してグローバルに値を設定してください。
PATH="$HOME/bin:$PATH"
それに追加しますか?
.bashrc
ホームディレクトリで編集し、次の行を追加します。
export PATH="/path/to/dir:$PATH"
.bashrc
変更を有効にするには、ソースまたはログアウト/ログイン(またはターミナルの再起動)を行う必要があります。をソースするには.bashrc
、単に入力します
$ source ~/.bashrc
.bashrc
」しますか?「ターミナルを再起動する」方法は?
. .bashrc
not .bashrc
:)またはsource .bashrc
そのことについて
すべてのユーザーに適用される永続的なシステム全体の環境変数を定義する推奨場所は、次の場所です。
/etc/environment
(デフォルトPATH
が定義されている場所です)
これは、デスクトップまたはコンソール、gnome-terminalまたはTTY、rain or shineで動作します;)
編集するには、Alt+ F2を押して次を入力します。
gksudo gedit /etc/environment
(またはsudo
、お気に入りのテキストエディターでファイルを開きます)
変更を有効にするには、を実行し. /etc/environment
ます。このファイルは単純なスクリプトであるため、実行され、新しいパスがPATH
環境変数に割り当てられます。envを実行PATH
して、リストの値を確認します。
関連する:
source /etc/environment
変更を再読み込みするために実行する必要がありました
Ubuntuの標準的な方法は次のとおりだと思います。
下に新しいファイルを作成します /etc/profile.d/
sudo vi /etc/profile.d/SCRIPT_NAME.sh
そこに追加:
export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
実行許可を与える
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
GUIに慣れている完全な初心者(私と同じ)の場合:
$HOME
フォルダーを開きます。.profile
、[ テキストエディターで開く ]をクリックします。PATH="$PATH:/my/path/foo"
ます。.profile
)。$PATH:
既存のPATH定義を含むビットを必ず追加する必要があります
特定のユーザーのみが使用できる永続的な環境変数の場合。Ubuntuの公式ドキュメントを強くお勧めします。
https://help.ubuntu.com/community/EnvironmentVariables
上記のドキュメントを参照して、次の方法でAndroid SDKパスツールをセットアップしました。
~/.pam_environment
ホームディレクトリにファイルを作成しています。PATH DEFAULT=${PATH}:~/android-sdk-linux/tools
。その行を~/.bashrc
ファイルに入れます。
ターミナルを開くたびに取得されます
EDIT:(あなたが打ったときなど、すべてのシェルに適用される、より一般的な設定のために、以下のコメントをもとにAlt- F2ユニティに)あなたに行を追加し、~/.profile
ファイル。ただし、PATH
ターミナルを開くとパスが環境に2回追加されるため、おそらく両方を行うべきではありません。
$HOME/.profile
個人設定または/etc/profile
すべてのユーザーのいずれかにパスを設定すると思いました。ただし、bashにのみ必要な場合は、どちらでも機能すると思います。
~/.bashrc
、開いているターミナルでのみ使用可能になります。たとえば、Alt + F2を押してそのディレクトリからコマンドを実行しようとしても、見つかりません。~/.profile
または~/.pam_environment
に設定すると、gnomeセッション(または使用するDE)がそれを継承します。PATHを~/.bashrc
追加することには、別の対話型bashシェルから対話的にbashを開いたり実行したりすると、複数回追加されるという欠点もあります。
~/.profile
もこの場合に行きます。
これを.bashrcに追加しても機能しますが、パス変数を設定するより伝統的な方法は、次の行を追加することにより.bash_profileにあると思います。
PATH=$PATH:/my/path/foo
export PATH
このスレッドによると、Ubuntuの動作はRedHatやクローンとは若干異なるようです。
.bash_profile
。bashが見つからない場合.bash_profile
(インタラクティブにログインした場合)、.profile
代わりにそれを探して使用します。デフォルトでは、あなたが持っているだろう.profile
と.bashrc
Ubuntuのインチ そして.profile
、pam_envを無視した場合に環境変数を設定する正しい場所です。
ターミナルではcd
、the_directory_you_want_to_add_in_the_path
echo "export PATH=$(pwd):\${PATH}" >> ~/.bashrc
BASHスクリプトのフォルダーを「インストール」するたびに$HOME/bin
、Ubuntuの最新バージョンのほとんどの.profileファイルにあるフォルダーのテストパターンに従います。次のようなテストを設定します
if [ -d "/usr/scripts" ]; then
PATH="/usr/scripts:$PATH"
fi
ほぼ100%の時間で動作し、GUIテキストエディターで/scripts
、$HOME
フォルダに近い場所に移動することになった場合にすばやく「すべて置換」を使用して自由に変更できます。私はUbuntuの6回のインストールでそうしていませんが、「常に明日」があります。S
BZT
編集するための推奨される方法PATH
は/etc/environment
ファイルからです
の出力例/etc/environment
:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
たとえば、新しいパスを追加するには /home/username/mydir
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"
次に、PCを再起動します。
システム全体の環境変数
(特定のユーザーだけでなく)システム全体に影響する環境変数設定に適したファイルは/ etc / environmentです。別の方法は、目的のために/etc/profile.dディレクトリにファイルを作成することです。
/ etc / environment
このファイルは、特にシステム全体の環境変数設定用です。スクリプトファイルではなく、1行に1つずつ割り当て式で構成されています。
注:変数展開は/ etc / environmentでは機能しません。
詳細はこちらをご覧ください:EnvironmentVariables
ターミナルを開きgedit .profile
、次を入力して挿入します。
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
#the following line add Bin where you dont have a Bin folder on your $HOME
PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"
ターミナルを閉じて、開いてください、それは働いているはずです。
システムスクリプトがこれを使用しない場合でも$HOME/bin
、PATH環境変数にパス(例:)を追加したい場合は、使用する必要があります。
PATH="${PATH:+${PATH}:}$HOME/bin"
(の代わりにPATH="$PATH:$HOME/bin"
)追加するため、および
PATH="$HOME/bin${PATH:+:${PATH}}"
()の代わりに追加するためPATH="$HOME/bin:$PATH"
。
これにより、$PATH
最初は空である場合の不要な先頭/末尾のコロンが回避され、望ましくない影響が生じる可能性があります。
例https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unsetを参照してください