Beberapa catatan tentang STTYperintah historis untuk mengklarifikasi beberapa ketidakakuratan dalam jawaban lain dan komentar terkait :
Terminal sebelumnya seperti DEC VT05 atau VT50 dan teleprinters sebelumnya hanya mendukung karakter huruf besar. Yang dimaksud adalah bahwa tidak ada karakter huruf kecil yang dapat menjadi input dari mereka atau bahwa mereka tidak akan dapat menampilkan huruf selain huruf besar.
Unix peka huruf besar kecil dan sebagian besar perintah menjadi huruf kecil, Anda dapat melihat ada masalah di sana. Itu sebabnya ada mode termio / termios khusus (dan yang masih ada di Unites modern meskipun terminal tersebut sudah lama hilang) untuk menangani hal itu.
termio / termios masing-masing adalah antarmuka yang lebih lama dan lebih baru untuk mengontrol driver tty di Unix. Dalam termio (s) ioctl, Anda menentukan input, output, bendera kontrol ... yang menentukan bagaimana sinyal listrik pada garis serial harus ditangani menjadi karakter input dan output dan perilaku internal driver wrt hal-hal seperti gema, editor baris ... Sebagian besar berlaku untuk terminal virtual seperti konsol Unix VGA modern atau terminal semu.
Antarmuka baris perintah termio(s)adalah sttyperintah.
Untuk menangani terminal huruf besar, ada tiga termio(s)flag yang terlibat:
IUCLC(Input Huruf Besar ke Huruf Kecil): karakter yang masuk dikonversi ke huruf kecil saat diinput. Itu berarti Apengiriman oleh terminal dianggap sebagai a a. Itu berarti bahwa dengan ini aktif, sekarang saya bisa mengetikkan LSVT50 saya, dan shell akan membaca lsdari /dev/ttyX. Saya juga sekarang dapat menjalankan sttyperintah.
- Sekarang, dengan
IUCLCsendirian dan terminal echo, saat saya mengetik LS, pengemudi akan mengirim lskembali ke terminal (sehingga saya dapat melihat apa yang saya ketik) yang tidak dapat ditampilkan, jadi kami juga perlu OLCUC(Output Huruf Kecil ke Huruf Besar), yaitu kita perlu mengubah huruf kecil menjadi huruf besar sebelum mengirim ke terminal.
- Sekarang, kita dapat mengoperasikan Unix dari VT50, tetapi bagaimana jika kita ingin memasukkan karakter huruf besar sekarang? Di situlah flag
xcase lokal masuk. Ini memungkinkan (hanya dalam mode input kanonik) mengirim huruf besar Adengan mengetik \A, dan pada output, huruf besar Aditerjemahkan sebagai \A. (yang tidak diimplementasikan di Linux)
The sttyperintah memiliki yang sesuai iuclc, olcucdan xcasepengaturan dan alias untuk ketiga: lcase. Pengaturan default dan apa yang Anda dapatkan stty sanetidak lcaseaktif.
Jadi, ketika Anda menggunakan VT50, yang perlu Anda lakukan adalah menjalankan:
stty lcase
untuk dapat melakukan apa saja. Tetapi tunggu dulu, bagaimana Anda melakukannya ketika Anda hanya bisa mengirim huruf besar? Di situlah Anda memerlukan STTYperintah sebagai alias untuk stty, dan itulah sebabnya sttymendukung LCASEsebagai alias untuk lcase.
Tidak ada SANEalias seperti itu karena Anda tidak ingin melakukan stty saneketika terminal Anda adalah huruf kapital semua.
Jika Anda menjalankan stty lcaseatau stty olcucsecara tidak sengaja pada terminal normal (coba di xtermatau terminal modern), di situlah Anda harus masuk stty saneuntuk kembali ke normal. Tetapi Anda tidak perlu STTYperintah untuk itu. Jika Anda mengetik stty sane, Anda akan melihat STTY SANEkembali bergema, tapi itu hanya teks yang ditampilkan (bukan perintah yang dimasukkan) yang akan diterjemahkan, itu masih stty saneperintah yang akan dijalankan.
Mereka iuclc, olcuc, xcasebendera yang digunakan akan ditentukan oleh POSIX (dan itulah mungkin mengapa ini diterapkan di Linux meskipun saya benar-benar ragu ada yang pernah terhubung salah satu dari mereka terminal lama ke sistem Linux (selain untuk bersenang-senang)), tetapi telah dihapus di POSIX: 2001.