由于目录名称中存在空格,导致Bash错误

O_O

我收到“期望二进制运算符”或“参数太多”的Bash错误,它指向第二行代码(if语句)。如果top_dir没有空格,则错误消失。如果我需要在top_dir中使用空格,该如何解决此代码?

log_dir="${top_dir}/${group}"
if [ ! -d $log_dir ]; then
    mkdir -p "${log_dir}"
fi

谢谢!

安德里亚·科贝里尼(Andrea Corbellini)

随着[ ... ]您需要报价,以防止扩展:

if [ ! -d "$log_dir" ]; then

有了[[ ... ]]你可以省略引号和扩张不会发生:

if [[ ! -d $log_dir ]]; then

例:

$ x='a b'
$ mkdir "$x"

$ [ -d "$x" ] && echo "$x exists"
a b exists

$ [[ -d $x ]] && echo "$x exists"
a b exists

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过部分名称检查目录中是否存在文件,如果找到则返回目录名称(glob返回错误)

在Java中获取目录名称

GetSaveAsFilename在目录名称中带有空格

SAP BODS中的条件目录名称

由于目录名称中的空格,PowerShell执行失败

增加目录名称(如果已经存在)

从批次中的数组获取目录名称

为什么目录中的os.path.join()给出了无效的目录名称错误?

当目录名称包含空格时,使用bash变量进入目录不起作用

从URL中删除目录名称Wordpress

bash目录名称,在CDPATH中带有空格

在bash中增加目录名称

bash complete:从已定义的目录中列出目录名称?

导出目录名称中带有空格的路径

FFmpeg使用Java运行时在Mac上以目录名称中的空格从PNG制作视频

由于目录名称中存在空格,因此msys路径错误

如何将bash别名配置为处理目录名称中的空格?

如何使用Linux删除目录名称前的空格?

定制的TFS构建定义中的“目录名称无效”错误

目录名称的别名,名称中带有空格

在bash提示符中缩短很长的目录名称

在bash提示符中引用目录名称

用空格递归替换目录和子目录名称中的所有点

删除目录名称中的冒号

更改单词在目录名称中的位置

Bash:将目录名称添加到数组中

sed 替换目录名中的空格

如何检查目录是否存在,如果存在,则在 Python 中要求一个新的目录名称?

在bash中的目录名称中使用逗号卷曲请求