Atualizar
Meu primeiro pensamento foi errado. Explicitamente, citando o estrondo ( !
) parece funcionar:
echo "(echo '@$'\!; sleep 3; echo '@$'\!) | mycmd" > a
Esta linha funciona como esperado por si própria
(echo '@$X!'; sleep 3; echo '@$X!')
E eu preciso inserir esta linha em um arquivo usando o seguinte comando, mas não está funcionando. O comando echo
'ed deve ser executável.
echo "(echo '@$X!'; sleep 3; echo '@$X!') | mycmd" >> a
Ele continua retornando esse erro
sh: !': event not found
Eu entendo que ecoar uma string entre aspas simples, inibe qualquer variável de substituição ou escape de caractere, mas não consigo aplicar isso para resolver esse problema!
Eu tenho para fazer isso através de um comando, porque eu vou enviá-lo através de uma ferramenta, então editar o arquivo usando um editor não é uma opção disponível para mim.