私は自分のパスにディレクトリを追加しようとしているので、それはいつも私のLinuxパスの中にあるでしょう。私はもう試した:
export PATH=$PATH:/path/to/dir
これは機能しますが、端末を終了して新しい端末インスタンスを起動するたびに、このパスは失われるので、もう一度exportコマンドを実行する必要があります。
永続的に設定されるようにするにはどうすればよいでしょうか。
~/.profile
または~/.bashrc
ファイルに追加する必要があります。
export PATH="$PATH:/path/to/dir"
あなたがしていることによっては、バイナリにシンボリックリンクしたいかもしれません。
cd /usr/bin
Sudo ln -s /path/to/binary binary-name
これはセッションの残りの間あなたのパスを自動的に更新しないことに注意してください。 これを行うには、実行する必要があります:
source ~/.profile
or
source ~/.bashrc
Ubuntuでは、/etc/environment
を編集します。その唯一の目的は環境変数を格納することです。元々$ PATH変数はここで定義されていますこれは私の/etc/environment
ファイルからの貼り付けです:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
ですから、このファイルをrootとして開き、必要なものを追加するだけです。
即時結果の場合は、を実行します(通常のユーザーand rootとして試してください)。
source /etc/environment && export PATH
更新:
zsh
(a.k.a Z Shell)を使用している場合は、/etc/zsh/zshenv
のコメントの直後に次の行を追加してください。
source /etc/environment
私はUbuntu 15.10でこのちょっとした風変わりな問題に遭遇しましたが、あなたの zsh が正しい _ path _ を得ていないのなら、これが理由かもしれません
それを行うには複数の方法があります。実際の解決策は目的によって異なります。
変数値は通常、割り当てのリスト、またはシステムまたはユーザーセッションの開始時に実行されるシェルスクリプトのいずれかに保存されます。シェルスクリプトの場合、特定のシェル構文を使用する必要があります。
/etc/environment
一意の割り当てのリスト。 /usr/local/something/bin
のようなシステム全体のディレクトリをPATH
変数に追加したり、Java_HOME
を定義するのに最適です。/etc/xprofile
X Window Systemセッションの開始中に実行されるシェルスクリプト。これは、X Window Systemにログインするすべてのユーザーに対して実行されます。 /usr/local/something/bin
のようなすべてのユーザーに有効なPATH
エントリに適しています。このファイルは他のスクリプトに含まれているため、ユーザーシェルの構文ではなくPOSIXシェル構文を使用します。/etc/profile
および/etc/profile.d/*
シェルスクリプト。これは、シェルのみのシステムに適しています。これらのファイルはシェルによってのみ読み取られます。/etc/<Shell>.<Shell>rc
。シェルスクリプト。シングルシェル固有であるため、これは適切な選択ではありません。~/.pam_environment
。一意の割り当てのリスト。すべてのユーザーセッションの開始時に PAM によってロードされます。XWindow Systemセッションまたはシェルの場合は無関係です。 HOME
やPATH
などの他の変数を参照することはできないため、使用が制限されています。~/.xprofile
シェルスクリプト。これは、ユーザーがX Window Systemシステムにログインしたときに実行されます。ここで定義された変数は、すべてのXアプリケーションに表示されます。 PATH
を~/bin
や~/go/bin
などの値で拡張したり、ユーザー固有のGOPATH
またはNPM_HOME
を定義するのに最適です。このファイルは他のスクリプトに含まれているため、ユーザーシェルの構文ではなくPOSIXシェル構文を使用します。グラフィカルテキストエディタまたはショートカットによって起動されたIDEには、これらの値が表示されます。~/.profile
シェルスクリプト。端末または端末エミュレータから起動されたプログラムでのみ表示されます。これは、シェルのみのシステムに適しています。~/.<Shell>rc
。シェルスクリプト。シングルシェル固有であるため、これは適切な選択ではありません。export
宣言を~/.bashrc
に置きます。私の.bashrcには以下が含まれています。
export PATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATH
$PATH
を恒久的に設定する方法は2つあります。
特定のユーザーのパスを設定するにはユーザーのホームディレクトリの.bash_profile
にエントリを作成する必要があります。
たとえば、私の場合はTomcatユーザープロファイルにJavaパスを設定します
[Tomcat]$ echo "export PATH=$PATH:/path/to/dir" >> /home/Tomcat/.bash_profile
すべてのシステムユーザーに共通のパスを設定するには、次のようにパスを設定する必要があります。
[root~]# echo "export PATH=$PATH:/path/to/dir" >> /etc/profile
あなたはCentosかRHEL上でローカルユーザーとして使うことができます:
echo $"export PATH=\$PATH:$(pwd)" >> ~/.bash_profile
これは現在のディレクトリをPATHに追加します(あるいは他のディレクトリを使用することもできます)。これはそれを永続的にしますが、次回のユーザログオンで有効になります。
再ログオンしたくない場合は、次のようにします。
source ~/.bash_profile
このコメントが# User specific environment and startup programs
にある.bash_profile
をリロードします
その行をあなたのコンソール設定ファイル(例えば.bashrc)または.profileに追加することができます。
私は最もエレガントな方法だと思います:
1.〜/ .bashrcファイルにこれを追加します。このコマンドを実行します。
gedit〜/ .bashrc
その中にあなたのパスを追加する
エクスポートパス= $パス:/ opt/node/bin
〜/ .bashrc
(Ubuntu)
これらのファイルの1つを編集して、恒久的に設定することもできます。
/etc/profile
(全ユーザー用)
~/.bash_profile
(現在のユーザー用)
~/.bash_login
(現在のユーザー用)
~/.profile
(現在のユーザー用)
永続的なPATH環境変数を設定するために/etc/environment
を使うこともできますが、 変数展開をサポートしません
から抽出された: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html
自分のスクリプトを含むフォルダをPATHに追加する方法を探すとき、私は昨日この質問に出くわした - そして自分の~/.profile
ファイル(Linux Mint 18.1の場合)にすでにこれが含まれていることを知って驚いた。
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
したがって、私がしなければならなかったのは、フォルダー~/bin
を作成し、そこに私のスクリプトを置くことだけでした。
exportコマンドを追加するファイルは、ログインモードか非ログインモードかによって異なります。
ログインモードの場合、探しているファイルは/ etc/bashまたは/etc/bash.bashrcです。
非ログインモードの場合は、ファイル/.profileまたはディレクトリ/.profiles.d内のファイルを探しています。
システム変数がある場合は、上記のファイル。
Zues77は正しい考えを持っています。 OPは「どうやってこれをハックできるのか」とは言いませんでした。 OPは$ PATHに永続的に追加する方法を知りたがっていました。
Sudo nano /etc/profile
これはすべてに設定されている場所で、$ PATHを必要とするすべてのものに変更するのに最適な場所です
私の答えは、go-lang
へのUbuntu linux/AMD64
の設定に関するもので、環境変数(GOPATH
とGOBIN
)のパスを設定するという同じ問題に直面し、毎回端末出口でそれを失い、source <file_name>
を使用して再構築します。 ~/.bash_profile
フォルダにパス(GOPATH
とGOBIN
)を入れることでした。数時間を無駄にした後の解決策は、次のようにしてGOPATH
とGOBIN
を~/.bash_rc
ファイルに入れることです。
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOPATH:$GOBIN
そうしても、goのインストールはうまくいき、パスの損失はありませんでした。
編集1:この問題が関連しているのは、goコードを実行しているubuntu端末やgnome-terminalのような非ログインシェルの設定は~./bash_rc
ファイルとログインシェルの設定からとられるためです。 ~/.bash_profile
ファイルから取得され、~/.profile
ファイルにアクセスできない場合は~/.bash_profile
ファイルから取得されます。
/etc/profile.d
という行で[name_of_script].sh
フォルダスクリプトexport PATH=$PATH:/dir
を追加します。 /etc/profile.d
フォルダ内のすべてのスクリプトは、ログイン時に/etc/profile
によって自動的に実行されます。
恒久的にPATH変数を追加します
グローバル:
echo "export PATH=$PATH:/new/path/variable" >> /etc/profile
ローカル(ユーザー専用):
echo "export PATH=$PATH:/new/path/variable" >> ~/.profile
global restartの場合 local reloginの場合.
例
前:
$ cat /etc/profile
#!/bin/sh
export PATH=/usr/bin:/usr/sbin:/bin:/sbin
の後:
$ cat /etc/profile
#!/bin/sh
export PATH=/usr/bin:/usr/sbin:/bin:/sbin
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable
あるいは、プロファイルを編集することもできます。
$ cat /etc/profile
#!/bin/sh
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable
別の方法(ありがとうgniourf_gniourf):
echo 'PATH=$PATH:/new/path/variable' >> /etc/profile
ここで二重引用符を使用しないでください。 echo 'export PATH = $ PATH:/ new/path/variable' ...そしてところで、exportキーワードは、PATH変数が既に[なっているので無用の可能性が非常に高いです。 ____。]エクスポート済みとしてマークされています。 - gniourf_gniourf
私は最もエレガントな方法だと思います:
1.これを 〜。/ bashrc fileに追加します。
if [ -d "new-path" ]; then
PATH=$PATH:new-path
fi
2.ソース 〜/ .bashrc
(Ubuntu)
Homebrew
を使ったクイックインストールこれをチェック ビデオ
または
以下の手順
Step 1:
コピー the _スクリーンショットに表示されたURL
/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
貼り付けを端末にURLをコピーしてreturn/enterキーを押す
自作インストール手順2: _を使って完了
Step 2:
Download terraform from https://www.terraform.io/downloads.html抜粋ダウンロード済みジップテラフォームファイル
これで、ダウンロードしたフォルダにterraform
という名前のファイルが1つあります。
例えば
/Users/username/downloads/terraform
Step 3:
terminal
を開く
cd:ディレクトリを/Users/username/downloads/terraform
に変更します
Step 4:
端末内の実行brew install terraform
最も簡単な方法は次の行です。PATH="<directory you want to include>:$PATH"
ホームディレクトリの.bashrcファイルの.
端末を閉じたり、PCを再起動してもリセットされません。その永久的な
Debianディストリビューションの場合は、次のことが必要です。
- edit ~/.bashrc e.g: vim ~/.bashrc
- add export PATH=$PATH:/path/to/dir
- then restart your computer. Be aware that if you edit ~/.bashrc as root, your environment variable you added will work only for root
恒久的なパスを追加する1つの方法は、私には役立ちました。 PATH = $ PATH:/設定に応じたパス/ コンピュータを再起動すると、パスが永久にになります.
MacOSを実行していて、信頼できるバイナリがあり、システム全体で使用できるようにしたいが、バイナリをPATHに追加するディレクトリが必ずしも必要ない場合、コピー/移動を選択できます/usr/local/bin
へのバイナリ。これは既にPATHにあるはずです。これにより、ターミナルで既にアクセスできる他のバイナリと同様に、バイナリ実行可能ファイルが作成されます。
1./etc/profileファイルを修正します。
#vi /etc/profile
"i"キーを押して編集ステータスを入力し、ファイルの末尾にカーソルを移動してください。
export PATH=$PATH:/path/to/dir;
"Esc"キーを押して編集ステータスを終了し、 ':wq'ファイルを保存します。
2.設定を有効にする
source /etc/profile
説明:プロファイルファイルはすべてのユーザに有効です。アクティブユーザだけに有効にしたい場合は、「。bashrc」ファイルを設定します。