Câu trả lời của Jon Reinhold là tuyệt vời, nhưng có một giải pháp mạnh mẽ hơn nhiều mà tôi sẽ đề xuất. Tôi cũng có một nhận xét về một câu trả lời trong câu trả lời của Jon, nhưng tôi không đủ uy tín để có thể nhận xét trực tiếp, vì vậy @Jon Reinhold, nếu bạn đọc bài này, vui lòng gửi bình luận của tôi cho bạn bên dưới.
Bash bao gồm một lệnh fc
, lấy số dòng tham số của danh sách lịch sử bash. Sau đó, nó sẽ mở trình soạn thảo mặc định của bạn với những dòng đó dưới dạng văn bản. Tại thời điểm đó, bạn có thể tùy ý chỉnh sửa các dòng. Sau đó, khi bạn thoát khỏi trình soạn thảo, bash sẽ thực thi các dòng đó!
Một ví dụ về chỉnh sửa mà bạn có thể muốn thực hiện là nối thêm tất cả trừ dòng cuối cùng như "; đọc -p" tiếp theo ... ". Điều đó sẽ khiến bash thực thi từng dòng và nhắc bạn trước khi tiếp tục.
Nhận xét cho Jon Reinhold: Câu trả lời tuyệt vời, nhưng bạn nên đủ điều kiện vì nếu người dùng đã đặt biến bash HISTCONTROL để bao gồm
erasedups
, thì sau khi thực hiện C-o
, người dùng sẽ bị nhầm lẫn vì thay vì lệnh tiếp theo dự kiến trong lịch sử được hiển thị, sau đó sẽ hiển thị sẽ được hiển thị. Điều này là do bash đã xóa phiên bản gốc của lệnh được thực thi, và do đó tất cả các lệnh sau đó đã chuyển lên một dòng, tức là. đến một số chỉ mục thấp hơn trong danh sách lịch sử.