Я хотел бы автовход , чтобы tty1
при входе в систему , а затем использовать , vlock
чтобы зафиксировать ее.
Как я могу определить из Bash, является ли текущий терминал консольным виртуальным терминалом (например tty1
), чтобы я мог подключить vlock
линию .bash_profile
и запустить ее только при входе через tty1
?
shell-script
terminal
console
tty
харакири
источник
источник
tty
может быть неправильно истолкован как означающий, что текущая оболочка подключена к псевдотерминальному устройству.Ответы:
Вы можете использовать,
tty
чтобы получить имя текущего виртуального терминала, а затем проверить его с помощьюcase
инструкции:источник
tty
будет показан псевдотерминал эмулятора терминала, а не физический терминал, на котором запущен X.Обычно достаточно просто проверить STDIN (FD0):
источник
.bash_profile
вызывается в оболочках входа в систему, и при обычном входе в систему с графическим интерфейсом пользователя нет терминала, поэтому единственная оболочка входа в систему терминала должна быть tty. Хорошая находкаcron
илиat
заданий, чтобы избежать сбоев, когда сценарии предполагают интерактивный ввод.