This question already has answers here:

I just assigned a variable, but echo $variable shows something else
(6个答案)
我的目录结构是/local/mnt/abcd/sub 1
所以在“sub 1”文件夹中,我试图执行以下脚本
SOURCEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
readlink -f $SOURCEDIR/..

输出为/local/mnt/abcd/sub not/local/mnt/abcd/sub\1
基本上,如果文件夹名中有空格,它就无法处理。所以我想知道除了readlink还有其他的方法可以得到绝对路径吗

最佳答案

您需要引用参数扩展,以便readlink以单个参数的形式获取路径。

readlink -f "$SOURCEDIR/.."

没有引号,就等于
readlink -f /local/mnt/abcd/sub 1/..

关于linux - 在Linux中,有什么方法/替代readlink -f来处理文件夹名称中存在的空格? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52556604/

10-10 17:49