PATH検索にはシンボリックリンクが含まれますか?
POSIXシェル標準はこのサイトで述べています http://pubs.opengroup.org/onlinepubs/9699919799/ シェルPATHが実行可能ファイルを探すためにどのように使用するかについて: 「リストは最初から最後まで検索され、指定された名前と適切な実行権限を持つ実行可能ファイルが見つかるまで、各プレフィックスにファイル名が適用されます。」 まあ、これはこれが実際のPOSIX実装で動作するように見える方法ではありません: man which 言う: 「現在の環境で実行されるファイル(またはリンク)のパス名を返します。引数が厳密にPOSIX準拠のシェルでコマンドとして指定されている場合、これは、PATHを検索して、引数。シンボリックリンクには従いません。」 OK、この状況を見てみましょう: $ pwd /home/mark $ echo $PATH /home/mark/bin:... $ ls -l bin/foobar lrwxrwxrwx 1 mark mark 18 Dec 12 22:51 bin/foobar -> /home/mark/foobar1 $ touch foobar1 $ which foobar $ chmod a+x foobar1 $ which foobar /home/mark/bin/foobar OK、PATH正しい名前のシンボリックリンクがここにあり、ls実行可能であると報告されています。 which それはまったく見ていませんが、それが指しているものにのみ興味があります。 両方があるという事実にもかかわらず、それman …