Use uma matriz de opções, não uma única:
Q=( -e "s/abc/ def/" )
echo abc | sed "${Q[@]}"
Estou gerando a expressão sed no script Bash e estou com um problema a seguir.
Eu quero adicionar um espaço na frente de cada aparência de abc.
Este comando funciona como esperado
echo abc | sed -e "s/abc/ def/"
saída é "def " sem aspas
considerando que isso comanda
Q='-e "s/abc/ def/"'
echo abc | sed $Q
saídas sed: -e expressão # 1, char 1: comando desconhecido: '"'
Fora do script bash, tudo funciona.
Eu tentei todas as formas possíveis de aspas, escapando de personagens, mas não consegui descobrir. Alguém pode me ajudar?
Use uma matriz de opções, não uma única:
Q=( -e "s/abc/ def/" )
echo abc | sed "${Q[@]}"