Це bash
розширення історії, наприклад
!87
повторно виконує команду з рядка історії 87
.
Опис цієї функції ви знайдете в man bash
розділі "РОЗШИРЕННЯ ІСТОРІЇ":
An event designator is a reference to a command line entry in the
history list. Unless the reference is absolute, events are relative to
the current position in the history list.
! Start a history substitution, except when followed by a blank,
newline, carriage return, = or ( (when the extglob shell option
is enabled using the shopt builtin).
!n Refer to command line n.
!-n Refer to the current command minus n.
Отже, щоб швидко викликати останню команду, виконайте !-1
і для п’ятої останньої команди !-5
. Зручним синонімом !-1
є !!
- якщо ви зателефонували, наприклад, apt install something
і забули sudo
, просто виконайте sudo !!
і ви добрі.
Лише зворотна косою червою ( \ ) та одиничні лапки можуть цитувати характер розширення історії.
Щоб уникнути розширення історії, потрібно або уникати знака оклику за допомогою зворотної косої риски ( \!
) або використовувати одинарні лапки ( '!'
).