Recentemente, notei ecos nos quais incluo muitos "!" resultar em coisas estranhas. Por exemplo: echo !!
dá-me:
echo rm -r * 1000
rm -r * 1000
( rm -r *
foi o último comando que executei antes de digitá-lo). Por que isso está acontecendo e existe uma maneira de desativá-lo?
Você se deparou
shell expansion
- o shell analisará seu comando e substituirá um curinga especial por outras informações. Tenteecho '!!'
(aspas simples) para entender o que a expansão e aspas do shell podem fazer.Você pode ler mais sobre a expansão do shell na
man
página debash
. Observe as seções para expansão do histórico , que discuteevent designators
como!!
, e expansão , que discute outras formas de expansão do shell. A seção sobre aspas explica o comportamento dos mecanismos de aspas do bash e a diferença entre como as strings de aspas simples e duplas são avaliadas.