Почему я не советую пользоваться «!!» в баше

Всем привет!

Наверняка многие из Вас знают «замечательное» свойство команды «!!» — она выполняет предыдущую команду.

Вот пример:

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

И вроде бы всё хорошо.
Но есть ОДНА причина, по которой я перестал использовать эту команду.

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

просто скопипастите это пример в терминал

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

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

Поэтому пользуйтесь стрелочкой вверх, и будет Вам счастье!

P.S.

В MacOS, Linux Mint это правило не работает.

В Ubuntu — работает.

И ещё — нажать «Вверх» и «Enter» ничуть не дольше чем ввести «!!» и нажать «Enter».

Добавить комментарий

Ваш адрес email не будет опубликован.