在 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"
}