-
Baru-baru ini muncul pemikiran bahwa semua hal yang terjadi di terminal merupakan kombinasi dari empat elemen berikut
- peran sistem operasi
- peran shell
- peran emulator terminal
- peran program yang sedang berjalan (
top,vim,cat, dll.)
-
Program bekerja dengan konsistensi yang mengejutkan
- POSIX terutama mengatur cara kerja emulator terminal, OS, dan shell, tetapi tidak ada standar untuk cara kerja masing-masing program
- Namun, program terminal umumnya berperilaku dengan cara yang konsisten
-
Aturan-aturan ini bersifat deskriptif, bukan preskriptif
- Ini bukan upaya untuk meyakinkan para penulis program terminal bahwa mereka harus mengikuti aturan ini
- Mengetahui aturan dasar yang bisa diharapkan saat menggunakan program terminal baru itu berguna
-
Ada kalanya tanggung jawab program tidak jelas
- Misalnya, keluar dari REPL dengan menekan
Ctrl-Dharus diimplementasikan secara eksplisit oleh program
- Misalnya, keluar dari REPL dengan menekan
Aturan 1: Program non-interaktif harus keluar saat Ctrl-C ditekan
- Program non-interaktif pada dasarnya akan keluar saat
Ctrl-Cditekan - Dalam program interaktif,
Ctrl-Cmemiliki peran yang berbeda
Aturan 2: TUI harus keluar saat q ditekan
- Program TUI seperti
lessatauhtopakan keluar saatqditekan
Aturan 3: REPL harus keluar saat Ctrl-D ditekan pada baris kosong
- Sebagian besar REPL akan keluar saat
Ctrl-Dditekan pada baris kosong
Aturan 4: Sebaiknya tidak menggunakan lebih dari 16 warna
- Program terminal hampir tidak pernah menggunakan warna di luar 16 warna ANSI dasar
Aturan 5: Sebaiknya mendukung key binding readline secara umum
- Sebagian besar program mendukung key binding
readline
Aturan 5.1: Ctrl-W harus menghapus kata terakhir
- Hampir tidak ada program di mana
Ctrl-Wtidak menghapus kata terakhir
Aturan 6: Warna harus dinonaktifkan saat menulis ke pipe
- Sebagian besar program menonaktifkan warna saat menulis ke pipe
Aturan 7: - berarti stdin/stdout
-
Jika
-diberikan sebagai pengganti nama file, program akan membaca dari stdin atau menulis ke stdout -
Mempelajari aturan-aturan ini membutuhkan waktu
- Kita perlu mempelajari di mana aturan ini berlaku, mengenali pengecualian, dan menangkap polanya secara tidak sadar
- Menuliskan aturan-aturan ini secara eksplisit dapat membantu orang lain mempelajarinya lebih cepat
1 komentar
Komentar Hacker News
Harus menghormati warna latar belakang dan warna depan default pengguna
Merekomendasikan Command Line Interface Guidelines
-untuk stdin, menonaktifkan warna saat dipakai dalam pipe, dan lain-lainAturan tambahan untuk alat baris perintah
sysexits.h--helpdi biner dan halaman manualInformasi tentang key binding readline/emacs
rlwrapdapat dipasang untuk menambahkan kemampuan penyuntingan barisSaran tentang penggunaan warna
Masalah yang terjadi saat menggunakan Ctrl-D di GHCi
:qPenjelasan tentang memperlakukan
~sebagai direktori homeProgram sebaiknya tidak menambahkan file ke direktori home
Pendapat tentang konsistensi CLI
Proses yang berjalan lama harus memuat ulang konfigurasi saat menerima SIGHUP
Tips berguna untuk koneksi SSH
~.untuk mengakhiri sesi SSH