[Por favor, leia atentamente os comentários que acompanham a sua pergunta, pois parece que você não está fazendo as coisas da maneira correta com sudo
]
Em bash
, existe um mecanismo chamado "substituição de histórico" que é ativado na linha de comando. Ele permite inserir todo ou parte de um comando anterior (daí o "histórico") no comando que você está editando.
O caractere que aciona a substituição do histórico é !
. Por exemplo, !WORD
é substituído pelo último comando que começa com WORD
. Se você não tiver tal comando, bash
irá reclamar com a mensagem de erro que você recebeu: bash: !WORD: event not found
.
Se você tiver que digitar um !
sem ativar o mecanismo de substituição do histórico, você terá que escapar dele \!
ou colocar entre aspas simples '!'
.
Por exemplo: echo 'User ALL = NOPASSWD: ALL, !/bin/su' | ...
Se a expansão do histórico for problemática para você, você também poderá desativá-la com set +H
, digitar seus comandos sem citar o !
e reativá-la mais tarde com set -H
.