Shell-Script
檢測是否在虛擬終端中執行?
我想在登錄時自動
tty1
登錄,然後用vlock
它來鎖定它。如果目前終端是控制台虛擬終端(例如
tty1
),我如何從 Bash 中檢測到,以便我可以將vlock
線路放入.bash_profile
並僅在通過登錄時執行tty1
?
您可以使用
tty
獲取目前虛擬終端的名稱,然後使用以下case
語句對其進行測試:#!/bin/sh case $(tty) in /dev/tty[0-9]*) vlock ;; esac
通常只需測試 STDIN (FD0) 就足夠了:
[ -t 0 ] && echo "TTY available" || echo "No TTY available"