誰が命令しますか? - +何をすべきですか?シンボルは-Tオプションを表しますか?

誰が命令しますか? - +何をすべきですか?シンボルは-Tオプションを表しますか?

man who次の-Tオプションを表示する

  -T, -w, --mesg
          add user's message status as +, - or ?

いくつかのチュートリアルによると、who -T実行時にこれらのシンボルが表示されるはずです。

私の場合は、-ログインしたすべてのユーザーtty+ログインしたすべてのユーザーを表示しますssh。何も表示されません。?

- +は何をしますか?シンボルは-Tオプションを表しますか?

ベストアンサー1

メッセージ状態は、ユーザーが特定のTTYからメッセージを受け入れたかどうかを示します。

ここで私のシェルセッションが実行されています/dev/pts/3

$ tty
/dev/pts/3

このTTYと私が使用している他のTTYのメッセージ状態は次のとおりです。これは+メッセージを受け入れるという意味です。

$ who -T
kk       + pts/0        2022-04-23 14:32 (192.168.1.107)
kk       + pts/1        2022-04-23 13:02 (tmux(2971).%0)
kk       + pts/2        2022-04-23 13:02 (tmux(2971).%1)
kk       + pts/3        2022-04-23 13:02 (tmux(2971).%2)
kk       + pts/4        2022-04-23 14:32 (tmux(2971).%3)

次に、他のユーザーが私にメッセージを送信する機能をオフにします(例:およびwrite参照を使用)。man writeman mesg

$ mesg n

これはメッセージの状態に影響します。

$ who -T
kk       + pts/0        2022-04-23 14:32 (192.168.1.107)
kk       + pts/1        2022-04-23 13:02 (tmux(2971).%0)
kk       + pts/2        2022-04-23 13:02 (tmux(2971).%1)
kk       - pts/3        2022-04-23 13:02 (tmux(2971).%2)
kk       + pts/4        2022-04-23 14:32 (tmux(2971).%3)

メッセージの状態がある場合、エンドデバイスが?不明であることを意味します。

以下は、このオプションに関連するGNUwho情報マニュアル()の内容です。info '(coreutils)who invocation'-T

After each login name print a character indicating the user’s
message status:

     ‘+’ allowing ‘write’ messages
     ‘-’ disallowing ‘write’ messages
     ‘?’ cannot find terminal device

このwhoユーティリティはPOSIXユーティリティであり、POSIX標準では、このオプションは、および(空白) -Tの4つの可能な値を使用して端末ステータスを追加します。+-? 仕様これを次のように説明してください。

  +       The terminal allows write access to other users.

  -       The terminal denies write access to other users.

  ?       The terminal write-access state cannot be determined.

  <space> This entry is not associated with a terminal.

おすすめ記事