Shell-Script

檢測是否在虛擬終端中執行?

  • January 11, 2014

我想在登錄時自動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"

引用自:https://unix.stackexchange.com/questions/96463