/usr/sbin/wall [-a] [-g grpname] [filename]
wall はファイルの終わりまで標準入力を読み取ります。その後、現在ログインしているすべてのユーザーに以下の文字で始まるメッセージを送信します。
Broadcast Message from . . .
filename が指定されていれば、メッセージはこのファイルから読み込まれます。通常、リモートログインセッションに対応していない仮想端末は無視されます。したがって、ウィンドウシステムを使用しているときは、メッセージはコンソールウィンドウにだけに表示されます。ただし、–a オプションを指定すると、メッセージを仮想端末などにも送信します。
一般的には、システムをシャットダウンする前に、すべてのユーザーに警告を与える場合に、このメッセージを用います。
ユーザーが起動させた保護を無効にする場合、送信側はスーパーユーザーである必要があります (mesg(1) 参照)。
wall は、他のユーザーの端末上で書き込み権を持つために、グループ ID tty に対して setgid() を実行します。 (setuid(2) 参照)。
wall は、ユーザーの端末に送信する前に非表示可能文字を検出します。制御文字は、適切な ASCII 文字が後に続く ^ として表示されます。すなわち、高位ビットが設定された文字は meta 表記法で表示されます。たとえば、`\003' は `^C' と表示され、`\372' は `M–z' と表示されます。
サポートしているオプションは、次のとおりです。
コンソールと仮想端末にメッセージを送ります。
グループデータベース (group(4) を参照) ごとに、grpname で指定されたグループのユーザーだけにメッセージを送ります。
LC_* 変数 (LC_CTYPE、LC_TIME、LC_COLLATE、LC_NUMERIC、LC_MONETARY) が環境に設定されていなければ、それぞれ対応する ロケール のカテゴリにおける wall の動作は、環境変数 LANG によって決定されます。 (environ(5) 参照)。LC_ALL が設定されていれば、その内容が LANG 変数やその他の LC_* 変数より優先されます。前述の変数が環境にまったく設定されていなければ、 C ロケール (米国スタイル) が wall の動作を決定します。
/dev/tty*
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
mesg(1), write(1), setuid(2), attributes(5), environ(5)
wall は、ユーザーの tty ファイルでオープンが失敗すると、``Cannot send to . .'' と表示します。