linux - Linux 中的 readlink -f 是否有任何方法/替代方法来处理文件夹名称中存在的空格?

标签 linux bash shell

<分区>

我的目录结构是/local/mnt/abcd/sub 1

所以在“sub 1”文件夹中,我正在尝试执行以下脚本

SOURCEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
readlink -f $SOURCEDIR/..

它给出的输出为:/local/mnt/abcd/sub 而不是/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/

相关文章:

regex - sed 查找与另一个模式一致的模式

bash - bash 脚本中的变量值不会改变

shell - 庆典 : replace variable value inside ' '

linux - 为什么我在 Linux 中使用带有 GFP_DMA 的 kmalloc 时得到高地址?

linux - wine 不适用于 cron

linux - 整数表达式预期错误。

shell - 可以运行两个 anaconda 实例同时安装两个东西吗?

shell - 从 Shell 脚本/bin/sh 运行 FFMPEG

linux - 写入磁盘时谁决定 block 大小?

linux - 链接符号链接(symbolic link)而不是soname