Xem liên kết này http://www.termsys.demon.co.uk/vtansi.htm . Như Anthon nói, \033
là mã bát phân kiểu C cho một ký tự thoát. Con [999D
trỏ di chuyển trở lại 999 cột, có lẽ là một cách mạnh mẽ để bắt đầu dòng. [2K
xóa dòng hiện tại. \r
là một sự trở lại vận chuyển sẽ di chuyển con trỏ trở lại điểm bắt đầu của dòng hiện tại và là một chuỗi thoát kiểu C chứ không phải là một chuỗi điều khiển đầu cuối.
Cập nhật
Như những người khác đã chỉ ra, các chuỗi điều khiển này không có gì để làm bash
mà chỉ là thiết bị đầu cuối / trình giả lập văn bản xuất hiện trên đó. Ngày xưa, thông thường các chuỗi này được giải thích bởi một phần cứng hoàn toàn khác. Ban đầu, mỗi người sẽ trả lời các bộ mã hoàn toàn khác nhau. Để giải quyết vấn đề này termcap
và terminfo
các thư viện nơi được sử dụng để viết mã tương thích với nhiều thiết bị đầu cuối. Các tput
lệnh là một giao diện cho terminfo
thư viện ( termcap
hỗ trợ cũng có thể được biên dịch trong) và là một cách mạnh mẽ hơn để tạo ra chuỗi tương thích.
Điều đó nói rằng, cũng có tiêu chuẩn ANSI X3.64 hoặc ECMA-48 . Bất kỳ thiết bị đầu cuối hiện đại sẽ sử dụng này. terminfo
và termcap
vẫn có liên quan vì việc triển khai có thể chưa hoàn thành hoặc bao gồm các phần mở rộng không chuẩn, tuy nhiên đối với hầu hết các mục đích, sẽ an toàn khi cho rằng các chuỗi ANSI thông thường sẽ hoạt động.
Câu xterm
hỏi thường gặp cung cấp một số thông tin thú vị về sự khác biệt giữa các trình giả lập thiết bị đầu cuối hiện đại (nhiều người chỉ cố gắng xterm
tự mô phỏng ) và cách xterm
các chuỗi liên quan đến các thiết bị đầu cuối VT100 được đề cập trong liên kết ở trên. Nó cũng cung cấp một danh sách chính xác các xterm
chuỗi kiểm soát .
Tất nhiên cũng thường được sử dụng là bảng điều khiển Linux, một danh sách chính xác các chuỗi điều khiển cho nó có thể được tìm thấy man console_codes
cùng với việc so sánh với xterm
.