kibitz:這是一個非常有用的工具。通過它兩個或更多的使用者可以串連到同一個shell進程。可以用於支援人員或者培訓(參見下圖)。
同樣可以用於其他一些要求同步的協同任務。例如我希望和另外一個同事一起編輯一封信件,這樣通過kibitz我們可以共用同一個運行編輯器的指令碼,同時進行編輯和查看信件內容。
自己需要修改kibitz指令碼,因為它裡面用的是rlogin登入的,而一般都開放了ssh,因此要把
spawn rlogin $host -l $proxy -8這句改為
spawn ssh $host -l $proxy
而且在下面的expect句中,它沒有判斷是否是第一次,第一次時,會詢問yes/no,
所以,在expect句裡的最前面,加上
"*yes*no)*" {
send "yes/r"
exp_continue
}
下面是自己編寫的用於自動登入的指令碼。
#!/bin/bash
if [ $# != 4 ] ; then
echo Usage: auth username address port passward
exit
fi
#[lrange list begin last]
cat >logon.sh <<EOF
#!/usr/bin/expect -f
set timeout 5
set username [lindex /$argv 0]
set address [lindex /$argv 1]
set port [lindex /$argv 2]
set passwd [lindex /$argv 3]
spawn ssh /$username@/$address -p /$port
expect "*assward:"
send "/$passwd/r"
expect "]*"
send "df -h/r"
interact
EOF
chmod 700 logon.sh
./logon.sh ${1+"$@"}
rm -f logon.sh