TERM
, theo quy ước đề cập đến một mô tả thiết bị đầu cuối. Ban đầu cái này được đặt tên là một phần của tệp văn bản termcap (bắt đầu từ cuối những năm 1970). Vào giữa những năm 1980, terminfo được giới thiệu dưới dạng tệp được biên dịch (nhị phân) giúp tiết kiệm thời gian khi có được mô tả đầu cuối. Mặc dù cả hai đều có sẵn cho tất cả các nền tảng giống như Unix, nhưng termcap hiếm khi được sử dụng ngày nay ngoại trừ việc mô phỏng bằng terminfo.
Đối với cả hai định dạng dữ liệu này, các ứng dụng thường trích xuất dữ liệu từ cơ sở dữ liệu đầu cuối với các thư viện lập trình có thể sử dụng lại. Thư viện lập trình terminfo thường là một phần của thư viện nguyền rủa cấp cao hơn mặc dù nó có thể được cung cấp (ví dụ, tùy chọn như trong ncurses) như một tệp thư viện riêng. Cho dù thư viện terminfo có được cung cấp riêng hay không, trong những trường hợp này, nó được coi là một phần của thư viện nguyền rủa. (Ngoài ra còn có một vài thư viện cấp cao khác như tiếng lóng).
Mục cơ sở dữ liệu đầu cuối cho mỗi thiết bị đầu cuối chứa các thuộc tính được gọi là khả năng . Họ nói với thư viện nguyền rủa (hoặc các ứng dụng sử dụng termcap / terminfo trực tiếp) cách thực hiện các thao tác hữu ích như xóa màn hình. Đối với hầu hết các thiết bị đầu cuối đó là một chuỗi thoát. Một vài thiết bị đầu cuối có thể không hỗ trợ một chuỗi thoát cho mục đích này; có những khả năng khác có thể được kết hợp bởi thư viện nguyền rủa để xóa màn hình (chẳng hạn như xóa từng dòng). Không phải tất cả các khả năng là trình tự thoát. Cũng có các khả năng boolean và số , ví dụ, để cho biết liệu một tính năng có được hỗ trợ hay không và mức độ lớn của một thứ gì đó (chẳng hạn như kích thước màn hình).
Mỗi ứng dụng sử dụng termcap / terminfo sử dụng thư viện tương ứng để truy xuất mô tả đầu cuối, cũng như để thực hiện các hoạt động như thay thế các tham số thành các khả năng nhất định. Ví dụ: hầu hết các thiết bị đầu cuối cung cấp khả năng di chuyển con trỏ theo một số cột hoặc hàng nhất định từ vị trí hiện tại của nó. Các hàm tparm
(hoặc tiparm
) thay thế số vào khả năng để có được chuỗi thoát thực tế.
Thư viện nguyền rủa có các ứng dụng dòng lệnh duy trì cơ sở dữ liệu đầu cuối ( tic , infocmp ) và một số được sử dụng trong các tập lệnh shell để truy vấn cơ sở dữ liệu đầu cuối hoặc thực hiện các hoạt động cấp thấp với các khả năng của thiết bị đầu cuối ( tput , tset / reset ).
Có những ứng dụng độc đáo sử dụng TERM
mà không sử dụng cơ sở dữ liệu đầu cuối. Hầu hết trong số này chỉ đơn giản là mã hóa hành vi của họ (chẳng hạn như GNU grep, groff và các trình duyệt web văn bản liên kết / links2 / elinks), trong khi một số ít có số tiền vào cơ sở dữ liệu đầu cuối của riêng họ (như GNU ls), nhưng sử dụng các quy tắc khác nhau và hành vi.
Quay lại câu hỏi:
Vậy biến này được giải thích ở đâu và ví dụ cho phép đặt lại màn hình đầu cuối của tôi bằng CTRL + l nếu tôi đặt đúng giá trị ở đó?
Ứng dụng và các thư viện cơ bản giải thích giá trị này. Đối với controlL, điều đó có thể được thực hiện cho bash trong thư viện readline (sử dụng giao diện lập trình termcap).
Ai kiểm tra ví dụ màu nào được hỗ trợ (xterm vs xterm-256color)?
Cơ sở dữ liệu đầu cuối lưu trữ số lượng màu như một khả năng, cùng với các khả năng thiết lập màu nền trước và màu nền và đặt lại màu. Một số ứng dụng kết hợp các khả năng này với các thông tin khác (chẳng hạn như xác nhận của nhà phát triển xterm
là "thực sự" xterm-256color
).
Vỏ?
Hầu hết các shell sử dụng giao diện lập trình termcap để lấy thông tin đầu cuối. Tuy nhiên, chúng là những ứng dụng có hành vi riêng (không nhất thiết giống như lời nguyền).
Các ứng dụng hoặc một thư viện như ncurses?
(xem ở trên: shell là một loại ứng dụng cụ thể)
Và các giá trị / loại thiết bị đầu cuối có thể được xác định ở đâu?
Thông thường đó là trong một cơ sở dữ liệu đầu cuối được chia sẻ bởi các ứng dụng sử dụng các thư viện tiếng chửi hoặc tiếng lóng. Một số ứng dụng được mã hóa cứng hoặc sử dụng cơ sở dữ liệu riêng.
Đọc thêm: