Bash sử dụng dấu chấm than cho các mở rộng lịch sử, như được giải thích trong các câu trả lời cho câu hỏi này (ví dụ: sudo !!
chạy dòng lệnh trước đó với sudo
). Tuy nhiên, tôi không thể tìm thấy bất cứ nơi nào giải thích việc chạy lệnh nào sau đây (tức là một dấu chấm than duy nhất):
!
Nó dường như không in gì và thoát bằng 1, nhưng tôi không chắc tại sao nó lại làm như vậy. Tôi đã xem trực tuyến và trong trang Bash của người đàn ông, nhưng không thể tìm thấy bất cứ điều gì, ngoài thực tế rằng đó là một "từ dành riêng" - nhưng cũng vậy }
, và chạy nó:
}
in lỗi:
bash: syntax error near unexpected token `}'
!
cho biết "bắt đầu" của một biểu thức mở rộng lịch sử.