Gostaria de encontrar uma maneira confiável de detectar se estou conectado no console antes de fazer a manutenção da rede.
Até agora encontrei isto:
$ tty | grep /dev/tty
/dev/tty2 # Connected on the console
$ ssh localhost tty | grep /dev/tty
$ # Remotely connected
Esta é uma maneira confiável de fazer isso?
Apenas a execução
tty
por si só informará se você está ou não conectado a um console - que pode ser um console virtual local, mas também pode ser um pseudo-terminal. Por exemplo:Esse
-t
sinalizador significa "alocar um tty" e esse é o comportamento padrão para uma sessão ssh interativa.Então você não pode simplesmente perguntar "estou conectado a um tty ou não?", mas você pode tomar uma decisão com base no retorno do dispositivo pelo
tty
comando. Algo como: