Realpath出力には入力が含まれます


9

私はrealpathコマンドを使用しますが、常にパスの最後に元の入力を追加します。

$ pwd
/homes/yosefkl
$ realpath yosefkl
/homes/yosefkl/yosefkl

現在の作業ディレクトリ内のディレクトリを要求しています。代わりにこれを試してください:realpath .
penguin359 '28

回答:


17

あなたは与えた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

12

これは、存在しないパスを指定しているためです。そのため、現在のディレクトリと指定したものを、それがパスであると想定して出力します。マニュアルページでは次のように指定されていることに注意してください。

解決された絶対ファイル名を出力します。最後のコンポーネントを除くすべてが存在する必要があります

そのため、存在しないターゲットでの実行が可能になります。説明のために、次の例を検討してください。

$ pwd
/home
$ ls
lost+found  terdon
$ realpath terdon
/home/terdon
$ realpath nonExistentDir
/home/nonExistentDir

または、あなたがしたことを複製するには:

$ pwd
/home/terdon
$ realpath terdon
/home/terdon/terdon

5

いいえ、yosefkl現在のディレクトリ(/homes/yosefkl)にある(おそらく存在しない)ファイルへのパスがであることを通知するだけです/homes/yosefkl/yosefkl。やってみる

realpath "$PWD"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.