シンボリックリンクとハードリンクの問題

シンボリックリンクとハードリンクの問題

/A/B/c.sh が /X/Y/c.sh にシンボリックリンクされているとします。

  • c.sh に「./SOMETHING」コマンドがある場合、「.」は /A/B/ または /X/Y/? を意味します。
  • ハードリンクはどうですか?

ベストアンサー1

.どちらの場合も、これは実際には現在の作業ディレクトリであり、スクリプトが保存されているディレクトリとは何の関係もありません。

[/tmp] $ echo "realpath ." > test.sh && chmod +x test.sh
[/tmp] $ /tmp/test.sh
/tmp
[/tmp] $ cd /usr/bin
[/usr/bin] $ /tmp/test.sh
/usr/bin

おすすめ記事