我使用该realpath命令,但它总是在路径末尾添加原始输入:
$ pwd
/homes/yosefkl
$ realpath yosefkl
/homes/yosefkl/yosefklRun Code Online (Sandbox Code Playgroud)
Zan*_*nna 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
Run Code Online (Sandbox Code Playgroud)
ter*_*don 12
那是因为你给它一个不存在的路径,所以它只是打印出当前目录和你给它的任何东西,假设这就是路径。请注意,手册页指定:
打印解析出的绝对文件名;除了最后一个组件之外的所有组件都必须存在
因此它允许使用不存在的目标执行。为了说明,请考虑以下示例:
$ pwd
/home
$ ls
lost+found terdon
$ realpath terdon
/home/terdon
$ realpath nonExistentDir
/home/nonExistentDir
Run Code Online (Sandbox Code Playgroud)
或者,复制你所做的:
$ pwd
/home/terdon
$ realpath terdon
/home/terdon/terdon
Run Code Online (Sandbox Code Playgroud)
不,它只告诉您yosefkl位于当前目录 ( /homes/yosefkl) 中的(可能不存在的)文件的路径是/homes/yosefkl/yosefkl. 尝试
realpath "$PWD"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
801 次 |
| 最近记录: |