Considere a seguinte transcrição bash:
~$ x="echo -n abc "
~$ $x && echo xyz
abcxyz
~$
Por curiosidade (por favor, me permita), eu quero ter uma variável bash contendo o echo -n
comando gerando algo. Eu quero saber se é possível defini-lo de forma a preservar o espaço à direita.
Uma opção óbvia é usar as aspas:
~$ x="echo -n \"abc \""
~$ $x && echo xyz
"abc "xyz
~$
Mas essas citações poluem a produção.
Claro, posso acrescentar o espaço ao segundo comando echo:
~$ x="echo -n abc "
~$ $x && echo " xyz"
abc xyz
~$
Mas o objetivo da pergunta é entender se x
pode ser alterado de forma que $x
represente echo -n
o espaço à direita sem aspas redundantes na saída.
Muito obrigado.
Isso é sofrimento estou tentando colocar um comando em uma variável, mas os casos complexos sempre falham!
A solução é usar um array: