Bash脚本:包含空格字符的数组元素

Bash脚本:包含空格字符的数组元素

我正在开始使用 bash 脚本。我正在处理包含空格字符的数组元素。在下面的代码中,第三个数组元素是“Accessory Engine”。我尝试使用符号设置空格字符\,但这没有帮助。

在较大的例程(此处未包含)中,我使用数组元素通过命令行工具自动执行一些操作。这些命令行工具将接受“附件引擎”作为输入。

#!/bin/bash
components="Persistence Instrument Accessory\Engine"
for i in $components; do
  echo ${i}
done

现在这段代码的输出是:

  Persistence
  Instrument
  Accessory\Engine

但我希望它是:

  Persistence
  Instrument
  Accessory Engine

我怎样才能做到这一点?

答案1

数组的定义不同:

components=(Persistence Instrument "Accessory Engine")

或者

components=(Persistence Instrument Accessory\ Engine)

并以不同的方式访问:

for i in "${components[@]}"

相关内容