Каждый раз, когда неофит открывает для себя возможности баша и решает про это написать, он обязательно всем рассказывает про удобный метод «повторить команду» с использованием "!!".
Типа так:
$ touch /test touch: cannot touch ‘/test’: Permission denied $ sudo !! sudo touch /test
Типа, хэппи-энд.
Я никогда такого не использовал, но не задумывался, «почему». Просто мне не нравилась эта идея.
А сейчас я придумал простой контрпример, который у любого хорошего человека отобъёт любое желание играться с восклицательным знаком в любой форме.
echo NO ROOT PLEASE echo do it with sudo sudo !!
(просто скопипастите это пример в шелл)
Пробел перед командой означает «не добавляй меня в хистори». И восклицательные знаки этому подчиняются.
Вы всегда уверены, что у вас случайно нет пробела в начале командной строки? ∎
Автор: amarao