Я очень смущен своим терминальным сеансом человечности, это, кажется, заменяет разделы в командах, которые запускаются !
сопровождаемый числом с на вид случайными командами. Это делает это с !87
замена его с screen -l
и также с !88
и замененный это ls
.
Любые идеи, почему это происходит, очень ценились бы.
Это bash
расширение истории, например.
!87
повторно выполняет команду от строки истории 87
.
Вы находите описание этой функции в man bash
, раздел “HISTORY EXPANSION”:
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 !!
и Вы хороши.
Только обратная косая черта (\) и одинарные кавычки может заключить символ расширения истории в кавычки.
Для предотвращения расширения истории необходимо или выйти из восклицательного знака с обратной косой чертой (\!
) или используйте одинарные кавычки ('!'
).