Bagaimana cara menyembunyikan perintah yang diketik dalam shell Linux?

14

Apakah ada cara untuk menyembunyikan apa yang saya ketik di shell, sehingga terminal tidak mengulangi penekanan tombol saya, sambil tetap menjaga output dari perintah?

Sebagai contoh, jika saya menjalankan ip addr show, satu-satunya hal di layar harus menjadi output dari perintah itu - bukan "ip addr show" yang saya ketikkan.

Mughil
sumber
1
Hai. Bisakah Anda sedikit lebih spesifik tentang content?
Nikhil Mulley
1
Apakah maksud Anda menyembunyikan input standar seperti saat mengetikkan kata sandi login? Apakah Anda menggunakan bash? Tolong berikan beberapa informasi lebih lanjut.
konten berarti perintah, misalnya jika saya mengetik perintah "ip addr show" itu harus tidak terlihat di terminal bash apa yang saya ketikkan. Tapi itu bisa saya lihat outputnya
Mughil
3
Itu persyaratan aneh. Apa yang ingin Anda capai? Perhatikan bahwa dengan cangkang biasa, perintah juga akan dimasukkan dalam riwayat dan disimpan ke disk.
Gilles 'SO- stop being evil'

Jawaban:

25

Jika Anda ingin menonaktifkan gema dari perintah yang Anda ketikkan, coba ini:

stty -echo

Anda dapat mengaktifkan kembali gema menggunakan perintah ini:

stty echo

Perhatikan bahwa output dari perintah akan muncul dengan cara yang agak berbeda, lihat sesi contoh ini:

$ pwd
/tmp
$ stty -echo
$ /tmp

Ini dihasilkan dari mengetik pwd, kembali stty -echo,, kembali pwd,, kembali.

Adam Zalcman
sumber
2
Perhatikan bahwa ini mungkin atau mungkin tidak berfungsi tergantung pada shell Anda, dan mungkin pada keanehan apa yang Anda masukkan ke prompt Anda. Pengaturan ini berlaku untuk semua yang ada di terminal itu; jika Anda menjalankan perintah layar penuh, kemungkinan akan diatur ulang ke stty +echo.
Gilles 'SO- stop being evil'