コンソールに接続されていることを確認する方法

コンソールに接続されていることを確認する方法

ネットワークメンテナンスを実行する前に、コンソールに接続されていることを確認するための信頼性の高い方法を見つけたいと思います。

これまで私はこれを見つけました:

$ tty | grep /dev/tty
/dev/tty2 # Connected on the console
$ ssh localhost tty | grep /dev/tty
$ # Remotely connected

これが信頼できる方法ですか?

ベストアンサー1

ただ実行するttyと接続されていることを伝えます。コンソール - ローカル仮想コンソール、または疑似ターミナルです。たとえば、

ssh -t localhost tty
/dev/pts/9

フラグ-tは「tty割り当て」を意味します。基本対話型SSHセッションの動作。

したがって、「私はttyに接続されていますか?」とだけ尋ねることはできません。できるttyコマンドによって返されたデバイスによって決定が下されます。それは次のとおりです。

case "$(tty)" in
  /dev/tty[0-9])
    echo "I am on a local console."
    ;;

  /dev/ttyS[0-9]|/dev/ttyACM[0-9]|/dev/ttyUSB[0-9])
    echo "I am on a serial console."
    ;;

  *)
    echo "I am not on a local console"
esac

おすすめ記事