Pull to refresh

Не используйте "!!" в баше

Reading time1 min
Views19K
Каждый раз, когда неофит открывает для себя возможности баша и решает про это написать, он обязательно всем рассказывает про удобный метод «повторить команду» с использованием "!!".

Типа так:
$ touch /test
touch: cannot touch ‘/test’: Permission denied
$ sudo !!
sudo touch /test

Типа, хэппи-энд.

Я никогда такого не использовал, но не задумывался, «почему». Просто мне не нравилась эта идея.

А сейчас я придумал простой контрпример, который у любого хорошего человека отобъёт любое желание играться с восклицательным знаком в любой форме.

echo NO ROOT PLEASE
 echo do it with sudo
sudo !!

(просто скопипастите это пример в шелл)

Пробел перед командой означает «не добавляй меня в хистори». И восклицательные знаки этому подчиняются.

Вы всегда уверены, что у вас случайно нет пробела в начале командной строки? ∎
Tags:
Hubs:
-3
Comments77

Articles

Change theme settings