SPAWN(Expect編程工具語言)

Expect編程工具語言,用來實現自動和互動式任務進行通信。
使用spawn命令來啟動腳本和命令的會話。
下面是一個能用來實現自動執行該命令的Expect腳本:
#!/usr/bin/expect
# Change a login shell to tcsh
set user [lindex $argv 0]
spawn chsh $user
expect "]:"
send "/bin/tcsh "
expect eof
exit
和其他腳本一樣首行指定用來執行該腳本的命令程式,這裡是/usr/bin/expect。程式第一行用來獲得腳本的執行參數(其保存在數組$argv中,從0號開始是參數),並將其保存到變數user中。
第二個參數使用Expect的spawn命令來啟動腳本和命令的會話,這裡啟動的是chsh命令,實際上命令是以衍生子進程的方式來運行的。
隨後的expect和send命令用來實現互動過程。腳本首先等待輸出中出現]:字元串,一旦在輸出中出現chsh輸出到的特徵字元串(一般特徵字元串往往是等待輸入的最後的提示符的特徵信息)。對於其他不匹配的信息則會完全忽略。當腳本得到特徵字元串時,expect將傳送/bin/tcsh和一個回車符給chsh命令。最後腳本等待命令退出(chsh結束),一旦接收到標識子進程已經結束的eof字元,expect腳本也就退出結束。

相關詞條

熱門詞條

聯絡我們