Đó là bash
sự mở rộng lịch sử, vd
!87
thực hiện lại lệnh từ dòng lịch sử 87
.
Bạn tìm thấy mô tả về tính năng này trong man bash
phần mục LỊCH SỬ MỞ RỘNG:
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.
Vì vậy, để nhanh chóng gọi lệnh cuối cùng, hãy làm !-1
và cho lệnh cuối cùng thứ năm !-5
. Một từ đồng nghĩa tiện dụng cho !-1
là !!
- nếu bạn gọi ví dụ apt install something
và quên sudo
, chỉ cần thực hiện sudo !!
và bạn tốt.
Chỉ dấu gạch chéo ngược ( \ ) và dấu ngoặc đơn mới có thể trích dẫn ký tự mở rộng lịch sử.
Để tránh mở rộng lịch sử, bạn cần thoát dấu chấm than bằng dấu gạch chéo ngược ( \!
) hoặc sử dụng dấu ngoặc đơn ( '!'
).