Продолжаем серию микро-заметок про трюки в командной строке Linux (трюки в Bash).
В предыдущей заметке мы познакомились с символом галочка ^ для замены символов в предыдущей выполненной команде.
В этой заметке мы узнаем, для чего в командной строке Linux используются два восклицательных знака — !!
Зачем нужны !! ?
Предположим, вы выполнили в терминале какую-нибудь команду. А теперь вы хотите выполнить ту же самую команду, не изменяя написания самой команды, но добавить перед ней или после нее какие-нибудь дополнительные параметры или текст или, например, дописать sudo.
Можно не нажимать клавишу Вверх, чтобы показать команду, а воспользоваться символами !!, которые заменяются в командной строке Linux предыдущей командой. Это особенно актуально, если команда очень длинная и что-то дописывать перед ней или после нее не очень удобно.
Символы !!
Два подряд стоящих символа восклицательных знака заменяются на предыдущую команду.
Пример
Например, вы выполнили команду:
но забыли написать перед ней sudo. Тогда можно воспользоваться символами !!. Выполняем:
в результате символы !! заменяются на предыдущую команду, то есть на somecommand и в результате вызывается команда:
Пример 2
Например, вы хотели создать директорию /etc/pingvinus/hello/world/this/is/long/path и выполнили команду:
mkdir -p /etc/pingvinus/hello/world/this/is
то есть вы забыли добавить перед командой sudo и не до конца написали путь до директории. Теперь можно исправить ситуацию и вызывать команду:
sudo !!/long/path
В результате символы !! заменятся на mkdir -p /etc/pingvinus/hello/world/this/is и в результате будет выполнена команда:
sudo mkdir -p /etc/pingvinus/hello/world/this/is/long/path
Комментарии
12:01
12:42
00:35
06:53
Только вот чаще бывает сперва впендюриваешь "cat /чо/то/там"
А потом чтобы не мышевозить и не ломать глаза, эргономичней заюзать !$. Напр "nano !$"