Aix
我可以將控製字元寫入其他人的終端嗎?
許多人使用終端仿真器登錄到同一個 AIX 6.1 伺服器,該終端仿真器自動解釋和執行由某些控製字元封裝為 VBA 腳本的程式碼,而不是將其寫入顯示器。因此,作為一個惡作劇,我有一個包含一系列字元的文件,該文件在彈出框中顯示一條消息,我想將其寫入他們的終端。
$ cat msgbox.txt *message box pops up*
但是當我寫給某人時,效果就消失了:
$ cat msgbox.txt | write *my other sesssion*
在另一場會議上:
Message from *myself* [*datetime*] \o 33 *code to show a msgbox* \o 33\<EOT>
其中“\o 33”替換了 ASCII 字元 27。是否可以通過 write 發送控製字元,還是我需要做一些不同的事情?
我不特別了解 AIX,但在大多數 unice 上,您不能按照設計這樣做。你不能在別人的終端上讀或寫,那裡發生的事情不關你的事。該
write
程序具有額外的權限(setuid root 或 setgidtty
,具體取決於系統)。它會注意清理您向其輸入的內容,以免過多地干擾其他人。如果您真的想將控製字元發送到使用者的終端,您需要是 root。
您需要將
cat
其直接連接到他們正在使用的tty
/設備。pty
您還需要確保他們的終端對字元執行與您相同的操作;您可能需要注意 tty 模式(當心換行擴展)。