【问题标题】:Can not parse space inside a bash variable无法解析 bash 变量中的空间
【发布时间】:2020-10-31 22:36:01
【问题描述】:

我不能在这个 bash 命令中使用空格代替“_”字符:

text=-annotate\ +540+8\ \"July_9_2020_newspaper\"
magick -quality 100 out.png $text out1.png

我试过 "\\" => 错误。

有什么想法吗?

感谢您的可能回答;)

【问题讨论】:

  • 使用数组而不是变量来存储选项/参数。
  • options=(-annotate +540+8 "July_9_2020_newspaper"); magick -quality 100 out.png "${options[@]}" out1.png
  • 您好 Jetchisel,我的问题是用空格替换 _ 字符...我希望 imagemagick 创建“2020 年 7 月 9 日报纸”句子。实际上,我必须使用“_”字符来创建单词/数字分隔符,但我想使用空格;)
  • 啊,好吧,然后text=${text//_/ },但${options[@]} 仍然可以是"${options[@]//_/ }"
  • @Jetchisel 可能是 OP 的问题只是如何引用字符串

标签: bash variables character space


【解决方案1】:

使用数组存储命令的多个参数:

text=(-annotate +540+8 'July 9 2020 newspaper')
magick -quality 100 out.png "${text[@]}" out1.png

【讨论】:

  • 是的!效果很好 !非常感谢!
猜你喜欢
  • 2022-11-24
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2012-04-14
  • 1970-01-01
  • 2020-01-17
  • 2021-12-17
相关资源
最近更新 更多