1. 程式人生 > >expect spawn not found

expect spawn not found

安裝expect 執行以下命令

sudo apt-get install tcl tk expect

在使用expect 寫自動互動功能時 遇到問題

automate_expect.sh

#! /usr/bin/expect

spawn ./interactive.sh

expect "Enter number:"

send "1\n"

expect eof

然後在命令列輸入

sh automate_expect.sh

既然出現 spawn not  found 錯誤

一直出現這個錯誤,基本上都是出學者

原來linux 執行sh指令碼有兩種方式,一種時將指令碼作為sh 的命令列引數,另一種時將指令碼作為具有執行許可權的可執行指令碼

將指令碼作為sh 的命令列引數執行的方式如下

sh script.sh 或 sh /home/path/script.sh

將指令碼作為具有執行許可權的可執行指令碼執行方式如下

先然指令碼檔案具有可執行許可權,執行下面程式碼

chmod a+x  script.sh 或chmod 755 script.sh

執行指令碼

./script.sh 或/home/path/script.sh

而作為sh 命令列引數來執行。那麼指令碼的#! 的一行就會失效

所以才會出現spawn not found 錯誤,所有上面的automate_expect.sh 指令碼必須用以前命令執行

./automate_expect.sh