我使用该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"