Saya ingin autologin ke tty1
pada login dan kemudian menggunakan vlock
untuk menguncinya.
Bagaimana saya bisa mendeteksi dari Bash jika terminal saat ini adalah terminal virtual konsol (mis. tty1
), Sehingga saya bisa meletakkan vlock
garis .bash_profile
dan menjalankannya hanya jika masuk melalui tty1
?
shell-script
terminal
console
tty
kiri
sumber
sumber
tty
dapat disalahpahami berarti mendeteksi jika shell saat ini terhubung ke perangkat pseudo-terminal.Jawaban:
Anda dapat menggunakan
tty
untuk mendapatkan nama terminal virtual saat ini, kemudian mengujinya dengancase
pernyataan:sumber
tty
akan menunjukkan pseudoterminal terminal emulator, bukan terminal fisik yang dijalankan X.Secara umum cukup dengan hanya menguji STDIN (FD0):
sumber
.bash_profile
dipanggil pada shell login dan GUI login normal tidak memiliki terminal, jadi satu-satunya shell login terminal adalah tty. Good findcron
atauat
pekerjaan untuk menghindari kegagalan ketika skrip menerima input interaktif.