Дуже корисно, коли ви забудете судо на початку своєї команди, !!діє як псевдонім попередньої команди. Приклад:
$ mv /very/long/path/for/a/protected/sensible/file/caution.h .
(...) Permission denined
$ sudo !!
sudo mv /very/long/path/for(...) .
[sudo] password :
- Як ми називаємо цей подвійний
!!трюк? Дослідження через Інтернет важкі через це. - Як це працює ? Я підозрюю зв’язок із командою історії.
- Де це визначено? Чи можу я сам визначити якусь іншу?
EDIT: Деякі цікаві позначки подій
!!:*
Він посилається на аргументи попередньої команди. Корпус:
cat /a/file/to/read/with/long/path
nano !!:*
:p
Просто надрукуйте команду, не виконуючи її, ви повинні поставити її в кінці позначення події.
$ !-5:p
sudo rm /etc/fstab -f
Це особливий випадок розширення історії, коли оболонка намагається розгорнути слово, починаючи з
—
чепнер
!команди, що відповідає в поточному списку історії оболонки. !!- це окремий випадок, еквівалентний !-1, коли негативне число, яке nнаступне, !посилається на n-ту попередню команду.
@Costas, корисніше, читайте
—
Wildcard
LESS='+/^HISTORY EXPANSION' man bash.
man history