协慌网

登录 贡献 社区

如何获取文件的完整路径?

有什么简单的方法可以打印file.txt的完整路径?

file.txt = /nfs/an/disks/jj/home/dir/file.txt

<command>

dir> <command> file.txt

应该打印

/nfs/an/disks/jj/home/dir/file.txt

答案

使用readlink

readlink -f file.txt

我想您正在使用 Linux。

我在 coreutils 8.15 中找到了一个名为realpath

realpath file.txt
/data/ail_data/transformed_binaries/coreutils/test_folder_realpath/file.txt

根据 @ styrofoam-fly 和 @ arch-standton 注释, realpath不会检查文件是否存在,要解决此问题,请添加e参数: realpath -e file

以下通常可以解决问题:

echo "$(cd "$(dirname "$1")" && pwd -P)/$(basename "$1")"