Realpath 输出包括输入

Realpath 输出包括输入

我使用该realpath命令,但它总是在路径末尾添加原始输入:

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

答案1

您给出了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

答案2

这是因为您给它的路径不存在,所以它只是打印出当前目录和您给它的任何内容,假设这是路径。请注意,手册页指定:

打印解析后的绝对文件名;除最后一个组件外,其他所有组件都必须存在

因此它允许使用不存在的目标执行。为了说明这一点,请考虑以下示例:

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

或者,重复你所做的:

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

答案3

yosefkl不,它只会告诉您当前目录 ( ) 中(可能不存在)文件的路径/homes/yosefkl/homes/yosefkl/yosefkl。尝试

realpath "$PWD"

相关内容