seb*_*seb 0 bash array shell-script whitespace
我正在开始使用 bash 脚本。我正在处理包含空格字符的数组元素。在下面的代码中,第三个数组元素是“Accessory Engine”。我尝试使用\
符号设置空格字符,但这无济于事。
在较大的例程中(此处未包含),我使用数组元素通过命令行工具自动执行某些操作。这些命令行工具将接受“附件引擎”作为输入。
#!/bin/bash
components="Persistence Instrument Accessory\Engine"
for i in $components; do
echo ${i}
done
Run Code Online (Sandbox Code Playgroud)
现在这段代码的输出是:
Persistence
Instrument
Accessory\Engine
Run Code Online (Sandbox Code Playgroud)
但我希望它是:
Persistence
Instrument
Accessory Engine
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
数组的定义不同:
components=(Persistence Instrument "Accessory Engine")
Run Code Online (Sandbox Code Playgroud)
或者
components=(Persistence Instrument Accessory\ Engine)
Run Code Online (Sandbox Code Playgroud)
并以不同的方式访问:
for i in "${components[@]}"
Run Code Online (Sandbox Code Playgroud)