Это 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 !!
и вы хорошо.
Только обратная косая черта ( \ ) и одинарные кавычки могут указывать символ расширения истории.
Чтобы избежать расширения истории, вы должны либо экранировать восклицательный знак обратной косой чертой ( \!
), либо использовать одинарные кавычки ( '!'
).