OnWorks Linux và Windows Online WorkStations

Logo

Lưu trữ trực tuyến miễn phí cho máy trạm

<Trước | Nội dung | Tiếp theo>

Di chuyển con trỏ

Mã thoát có thể được sử dụng để định vị con trỏ. Điều này thường được sử dụng để cung cấp đồng hồ hoặc một số loại thông tin khác tại một vị trí khác trên màn hình, chẳng hạn như góc trên mỗi khi lời nhắc được vẽ. Đây là danh sách các mã thoát xuất hiện trên con trỏ:


Bảng 13-4: Trình tự thoát di chuyển con trỏ

Escape Code Action

\ 033 [l;cH Di chuyển con trỏ đến dòng l và cột c


hình ảnh

\ 033 [nA Di chuyển con trỏ lên n dòng


hình ảnh

\ 033 [nB Di chuyển con trỏ xuống n dòng


hình ảnh

\ 033 [nC Di chuyển con trỏ về phía trước n nhân vật


hình ảnh

\ 033 [nD Di chuyển con trỏ về phía sau n nhân vật


hình ảnh

\ 033 [2J Xóa màn hình và di chuyển con trỏ đến góc trên bên trái (dòng 0, cột 0)


hình ảnh

\ 033 [K Xóa từ vị trí con trỏ đến cuối dòng hiện tại


hình ảnh

\ 033 [s Lưu vị trí con trỏ hiện tại


hình ảnh

\ 033 [u Nhớ lại vị trí con trỏ đã lưu


hình ảnh


Sử dụng các mã trên, chúng tôi sẽ tạo một lời nhắc vẽ một thanh màu đỏ ở đầu màn hình có chứa đồng hồ (được hiển thị bằng văn bản màu vàng) mỗi khi lời nhắc được hiển thị. Mã cho lời nhắc là chuỗi trông đáng gờm này:



PS1="\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33m\t\033[0m\033[u\]

<\ u @ \ h \ W> \ $ "

PS1="\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33m\t\033[0m\033[u\]

<\ u @ \ h \ W> \ $ "


Hãy xem xét từng phần của chuỗi để xem nó làm gì:

Di chuyển con trỏ


Bảng 13-5: Phân tích chuỗi dấu nhắc phức tạp


Hành động theo trình tự

Hành động theo trình tự

\[ Bắt đầu một chuỗi ký tự không in. Mục đích của việc này là cho phép bash tính toán đúng kích thước của lời nhắc hiển thị. Nếu không có một phép tính chính xác, các tính năng chỉnh sửa dòng lệnh không thể định vị con trỏ một cách chính xác.


hình ảnh

\ 033 [s Lưu vị trí con trỏ. Điều này là cần thiết để quay lại vị trí nhắc sau khi thanh và đồng hồ đã được vẽ ở đầu màn hình. Hãy lưu ý rằng một số trình giả lập đầu cuối không nhận ra mã này.


hình ảnh

\ 033 [0; 0H Di chuyển con trỏ đến góc trên bên trái, là dòng 0, cột 0.


hình ảnh

\ 033 [0; 41m Đặt màu nền thành đỏ.


hình ảnh

\ 033 [K Xóa từ vị trí con trỏ hiện tại (góc trên cùng bên trái) đến cuối dòng. Vì màu nền bây giờ là màu đỏ, nên đường kẻ sẽ bị xóa theo màu đó, tạo ra thanh của chúng ta. Lưu ý rằng việc xóa đến cuối dòng không thay đổi vị trí con trỏ, vị trí này vẫn ở góc trên bên trái.


hình ảnh

\ 033 [1; 33m Đặt màu văn bản thành màu vàng.


hình ảnh

\t Hiển thị thời gian hiện tại. Mặc dù đây là phần tử “in”, chúng tôi vẫn đưa nó vào phần không in của lời nhắc, vì chúng tôi không muốn bash bao gồm đồng hồ khi tính toán kích thước thực của lời nhắc được hiển thị.


hình ảnh

\ 033 [0m Tắt màu. Điều này ảnh hưởng đến cả văn bản và nền.


hình ảnh

\ 033 [u Khôi phục vị trí con trỏ đã lưu trước đó.


hình ảnh

\] Kết thúc chuỗi ký tự không in.


hình ảnh

<\ u @ \ h \ W> \ $ Chuỗi lời nhắc.


hình ảnh


Điện toán đám mây hệ điều hành hàng đầu tại OnWorks: