一部のアプリケーションは、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
your own self-answer で述べたように、PATH
変数が元々どこに入力されているかを知る必要はありません。
PATH
の末尾または先頭に新しいパスを簡単に追加できます。zsh
には、重複を削除する便利な方法もあります。
最初に、PATH
変数と関連するpath
配列を一意にすることができます。
typeset -U -g PATH path
その後、変数はこのコマンドによってstay一意になります。
いくつかのパスを追加するには:
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
は既に環境変数であるため、再度エクスポートしても意味がありません。
ファイル/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
次の手順は、システムごとのPATH
を変更する方法を示しています。
命名規則:priority-appnameでファイルを作成します。次に、追加するパスをPATH
に貼り付けます。例えば私の場合は「20200418-vscode」。
そのファイルを/etc/paths.d/
に移動します。ターミナルで新しいタブを開くことを忘れないでください/ターミナルを終了して再度開き、echo $PATH
でパスが追加されていることを確認してください!
注意:このメソッドのみ追加PATH
へのパス。