Matrizes são definidas de forma diferente:
components=(Persistence Instrument "Accessory Engine")
ou
components=(Persistence Instrument Accessory\ Engine)
E acessado de forma diferente:
for i in "${components[@]}"
Estou começando com o bash scripting. Estou trabalhando com elementos de matriz que contêm caracteres de espaço. No código abaixo, o terceiro elemento da matriz é "Mecanismo de acessórios". Tentei definir o caractere de espaço usando o símbolo \
, mas isso não ajuda.
Na rotina maior (não incluída aqui), eu uso os elementos da matriz para automatizar algumas coisas com ferramentas de linha de comando. Essas ferramentas de linha de comando aceitariam o "Mecanismo de Acessórios" como uma entrada.
#!/bin/bash
components="Persistence Instrument Accessory\Engine"
for i in $components; do
echo ${i}
done
Agora, a saída desse código é:
Persistence
Instrument
Accessory\Engine
Mas eu quero que seja:
Persistence
Instrument
Accessory Engine
Como posso conseguir isso?
Tags bash shell-script whitespace array