一部のアプリケーションでは、PATH環境変数に何かを追加するように指示します。 1つの方法はファイルを生成することですが、変数が保存されているファイルがどこにあるかを~/.zshrc
知りたいです。PATH=...
私が入力すると、echo $PATH
次のような結果が表示されます。
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin
/etc/paths
私が得たファイルから:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
それでは、追加のパスが追加されたファイルは何ですか?
コメントに返信:
私は次のようになります:(私のユーザー名をに変更したことを許してくださいalice
)
grep: /Users/alice/.profile: No such file or directory
grep: /etc/environment: No such file or directory
grep: /etc/zsh/zprofile: No such file or directory
grep: /Users/alice/.zshrc: No such file or directory
grep: /Users/alice/.profile: No such file or directory
答え1
あなたが言ったようにあなた自身の答えPATH
、変数が最初にどこに埋められたかを知る必要はありません。
PATH
終わりや始めに簡単に新しいパスを追加でき、zsh
重複したパスも簡単に削除できます。
まず、次のようにPATH
変数と関連配列を一意にすることができます。path
typeset -U -g PATH path
それから変数は滞在するこの順序で一意です。
いくつかのパスを追加するには:
path=( /new/path1 /new/path2 $path )
複数のパスを追加するには:
path=( $path /new/path1 /new/path2 )
または、
path+=( /new/path1 /new/path2 )
これにより変数値がPATH
更新される。
$ZDOTDIR/.zprofile
ログインシェルで自動的に選択されるファイルでこれを行うことができます。ファイルソースは次のようになるため、zsh
ファイルでこれを行う必要はありません。$ZDOTDIR/.zshenv
どんなタイプ呼び出しますzsh
(必要に応じて非常に短く保つ必要があります。ZDOTDIR=$HOME/.zsh
たとえば、ただそこに設定しています)。
すでにPATH
環境変数なので、再エクスポートする必要はありません。
答え2
このファイルはデフォルト値を設定する/etc/zprofile
ために使用され、そのソースコードはありません。/usr/libexec/path_helper
PATH
ユーザーの状況に応じて変更する方法は次のとおりですPATH
。
~/.zprofile
以下を作成/編集して追加します。
# append to PATH
export PATH="$PATH:.../to/target/bin"
# prepend to PATH
export PATH=".../to/target/bin:$PATH"
# remove duplicate in PATH
typeset -U PATH
答え3
次の手順は、システムを変更する方法を示していますPATH
。
命名規則に従ってファイルを生成します。Priority-appname(例: '20200418-vscode'、優先順位を一意にするために日付を使用しました)。次に、追加したいパスを保存します
PATH
。ファイルを
/etc/paths.d/
完了に移動します。
注1:を表示するには、新しい端末セッションを作成する必要がありますecho $PATH
。
注2:この方法のみ追加あなたの道PATH
。