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

в 19:57, , рубрики: bash, sudo, Настройка Linux, системное администрирование

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

Типа так:

$ touch /test
touch: cannot touch ‘/test’: Permission denied
$ sudo !!
sudo touch /test

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

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

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

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

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

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

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

Автор: amarao

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js