コマンドを確認するとls
シリーズがあります。
$ type -a ls
ls is /usr/local/opt/coreutils/libexec/gnubin/ls
ls is /usr/local/opt/coreutils/libexec/gnubin/ls
ls is /usr/local/opt/coreutils/libexec/gnubin/ls
ls is /bin/ls
フォルダから見ると
$ ls /usr/local/opt/coreutils/libexec/gnubin/ | grep "ls"
false
ls
3つではなく単一のlsコマンドです。
type -aが3つの同じ項目を生成するのはなぜですか/usr/local/opt/coreutils/libexec/gnubin/ls
?
答え1
/usr/local/opt/coreutils/libexec/gnubin
PATH
あなたに1回以上登場しました。type -a
3回見てみると、ls
すべての項目がそこに見つかったと報告されました。
PATH( echo "$PATH"
) を調べてこれを確認するか、それを操作して動作を複製して変更できます。
PATH=/bin:/bin type -a ls
PATH=/usr/local/opt/coreutils/libexec/gnubin:/bin type -a ls
環境設定 どこかで変数が複数回設定されています。これはPATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH
、追加の行を複数回追加する自動化されたスクリプトを実行するためです。