Dấu mũ ( ^
) được đánh đồng với ký tự mũi tên hướng lên trên máy in. Vào thời điểm SunOS và cứ thế xuất hiện, phần này đã hơn 10 năm trong quá khứ. Cùng một ký tự (thay thế) đã được sử dụng trong các biểu thức toán học, ví dụ, ^
đối với các quyền hạn (trong đó một số người khác có thể sử dụng **
). Nó cũng được sử dụng trong Pascal để chỉ con trỏ.
Được sử dụng để chỉ các ký tự điều khiển, ngày này (ít nhất) trước năm 1980. Chẳng hạn, bạn có thể tìm thấy nó được sử dụng trong tài liệu DEC (nó chắc chắn được sử dụng vào giữa những năm 1970 khi tôi sử dụng teco. Hướng dẫn sử dụng tiện ích từ năm 1973 (trang 927) cho thấy một controlCví dụ.
Tìm kiếm một nguồn phù hợp, tôi tìm thấy Mã giao tiếp Teletypewriter của Gil Smith, người nói rằng đủ để đặt nó vào cuối những năm 1960 (chứng minh rằng nguồn gốc cũng là tiền Unix):
ASCII-63 hầu như giống hệt với phiên bản ASCII-67 hiện tại. Các định nghĩa của các ký tự điều khiển (col-1 ở trên) khác nhau giữa hai phiên bản, như được định nghĩa dưới đây. Ngoài ra, trong ASCII-63, 32 vị trí trên (col-4) không được xác định, ngoại trừ ba vị trí: RUB (0x7F), ACK (0x7C) và ESC (0x7E). Có các tham chiếu không nhất quán đối với char ALT-MODE (0x7D) trong ASCII-63. Trong phiên bản năm 1967, RUB trở thành DEL và giữ nguyên vị trí, nhưng ACK và ESC đã di chuyển vào khu vực ký tự điều khiển (col-1). Trong ASCII-67, ^ đã thay thế biểu tượng mũi tên lên và _ thay thế mũi tên trái
ASCII-63 và ASCII-67 là các biến thể phổ biến của ASCII, nhưng dường như cũng có một số phiên bản chuyển tiếp: trong hướng dẫn Teletype Model 33, có các tham chiếu đến phiên bản ASCII năm 1965, có SS thay cho SUB (0x1A), \ for @ (0x40), ~ for \ (0x5C), một ký tự kỳ lạ thay cho | (0x7C) và | cho ~ (0x7E). Thẻ mã Teletype cho máy M33 và M35 cho biết phiên bản ASCII năm 1966, mặc dù các ký tự có thể in được hiển thị trên thẻ giống hệt nhau trong tất cả các phiên bản.
Điều này từng được biết đến, do các vấn đề về việc hoán đổi các tệp giữa các mã hóa khác nhau như ASCII và EBCDIC khi vẫn còn các máy in có khả năng hiển thị mũi tên dài như vậy sau khi ký tự không còn tồn tại trong ASCII.
vi
(ít nhất là bản gốc trong SunOS 3.5) đã sử dụng dấu mũ / dấu mũ ở phía trước các chữ cái để phản đối ctrl-C, ctrl-V, v.v.stty
cũng đã làm như vậy. Mặt khác,^
hoạt động như một từ đồng nghĩa với|
các tập lệnh shell trong thời đại đó, vì vậy bạn luôn phải viết lại dấu mũ trong các lệnhstty
. Câu hỏi hay.