Quando você digita CMD="sed -i 's/^host=.*/host=myhost1/' /opt/file.txt"
, está usando "
(aspas duplas), pedindo ao shell para interpretar caracteres especiais como *
.
Ele substituirá .*
por uma lista de todos os arquivos no diretório atual que começam com .
, o que confunde sed
.
Torne o *
não-específico com uma barra invertida \*
. Também para echo "$CMD"
para ver os nomes dos arquivos.