回答:
あなたは与えたrealpath
現在のディレクトリ内のファイルに、相対パスを。
ファイル(ディレクトリの場合もあります)は存在する場合と存在しない場合があります。realpath
デフォルトでは気にしません。最後の要素が存在するかどうかに関係なく、パスを報告します。
存在するパスのみを報告する場合は、-e
フラグを使用します。
zanna@toaster:~/playground$ realpath playground
/home/zanna/playground/playground
zanna@toaster:~/playground$ realpath ~/playground
/home/zanna/playground
zanna@toaster:~/playground$ realpath -e playground
realpath: playground: No such file or directory
これは、存在しないパスを指定しているためです。そのため、現在のディレクトリと指定したものを、それがパスであると想定して出力します。マニュアルページでは次のように指定されていることに注意してください。
解決された絶対ファイル名を出力します。最後のコンポーネントを除くすべてが存在する必要があります
そのため、存在しないターゲットでの実行が可能になります。説明のために、次の例を検討してください。
$ pwd
/home
$ ls
lost+found terdon
$ realpath terdon
/home/terdon
$ realpath nonExistentDir
/home/nonExistentDir
または、あなたがしたことを複製するには:
$ pwd
/home/terdon
$ realpath terdon
/home/terdon/terdon
realpath .