使用“readlink -f”获取文件的完整路径在 OSX 上不起作用?

使用“readlink -f”获取文件的完整路径在 OSX 上不起作用?

在 Linux (redhat/ubuntu/您命名的) 上,我可以这样做:

$readlink -f myfile.txt
/tmp/local/path/to/myfile.txt

在 OSX(yosemite)上:

$ readlink -f eclipse-projects.xml 
readlink: illegal option -- f

有人能告诉我发生了什么吗?-f在 osx 上“等价”的是什么?(为什么人们喜欢把事情搞得如此不一致?!)

答案1

# Return the canonicalized path (works on OS-X like 'readlink -f' on Linux); . is $PWD
function realpath {
    [ "." = "${1}" ] && n=${PWD} || n=${1}; while nn=$( readlink -n "$n" ); do n=$nn; done; echo "$n"
}

相关内容