Ich möchte Autologin zu tty1
auf Login und dann verwenden vlock
sie zu sperren.
Wie kann ich in Bash erkennen, ob das aktuelle Terminal ein virtuelles Konsolenterminal ist (z. B. tty1
), sodass ich die vlock
Leitung .bash_profile
nur dann anschließen und ausführen kann, wenn ich mich über anmelde tty1
?
shell-script
terminal
console
tty
kiri
quelle
quelle
tty
dies missverstanden werden kann, um zu erkennen, ob die aktuelle Shell mit einem Pseudo-Terminal-Gerät verbunden ist.Antworten:
Mit können
tty
Sie den Namen des aktuellen virtuellen Terminals abrufen und anschließend mit einercase
Anweisung testen :quelle
tty
wird das Pseudoterminal des Terminalemulators angezeigt, nicht das physische Terminal, auf dem X ausgeführt wird.Im Allgemeinen reicht es aus, STDIN (FD0) einfach zu testen:
quelle
.bash_profile
Login-Shells aufgerufen werden und das normale GUI-Login kein Terminal hat, sollte die einzige Terminal-Login-Shell ein tty sein. Guter Fundcron
oderat
jobs angegeben, um Fehler zu vermeiden, wenn Skripts interaktive Eingaben übernehmen.