我發現一件比較有意思的事情
從不同終端登錄同一台服務器的兩個用戶(userA和userB)可以同時使用一個shell終端實現shell共享
userA能看到userB在終端的輸入
userB也能看到userA在終端上的輸入
就好像他們在使用一個終端,彼此的輸入是共享給對方的
一個終端的輸入會共享在兩個終端上,同時被看到
首先檢查系統安裝包tcl和expect
[[email protected] ~]# rpm -qa |grep tcl
tcl-8.4.13-4.el5
tcl-devel-8.4.13-4.el5
tcl-8.4.13-4.el5
[[email protected] ~]# rpm -qa |grep expect
expect-5.43.0-5.1
expect-5.43.0-5.1
如果沒有expect的話,配置好yum,直接使用yum install expect -y 進行安裝
然後看一下是否有kibitz命令
[[email protected] ~]# whereis kibitz
kibitz: /usr/bin/kibitz /usr/local/bin/kibitz /usr/share/man/man1/kibitz.1.gz
接下來開始做實驗:
通過xshell同時開兩個窗口登錄同一台機器
然後用w命令看一下當前登錄的用戶以及使用的終端
從上面圖片可以看到xshell的1號窗口是從終端pts/2登錄的,2號窗口是從pts/3登錄的
在1號窗口(終端pts/2)中做這個操作--向pts/3發出請求:
[[email protected] ~]# kibitz -tty pts/3 root
asking root to type: kibitz -3723
#光標就停在這個地方,這個進程並沒有終止
此時去2號窗口(終端pts/3)你會看到這樣:
[[email protected] ~]#
Message from [email protected] on pts/2 at 00:07 ...
Can we talk? Run: #需要你將“kibitz -3723”粘貼在這個地方
在2號窗口(終端pts/3)粘貼完之後就變成這樣了:
[[email protected] ~]#
Message from [email protected] on pts/2 at 00:07 ...
Can we talk? Run: kibitz -3723
EOF
kibitz -3723
Escape sequence is ^]
再回到1號窗口(終端pts/2)你會發現,屏幕上的輸出信息:【綠色部分是粘貼完之後出現的】
[[email protected] ~]# kibitz -tty pts/3 root
asking root to type: kibitz -3723
Escape sequence is ^]
現在兩個終端已經實現共享了,當你從其中任何一個終端輸入命令行的時候,都會在另一個終端上有完全相同的輸出