歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

用Expect來做Linux程序測試

在做畢業設計,要檢查算法是否reasonable。對expect復習了一下,順便寫一寫所用到的東西。Expect的簡介就不說了,就是linux下的一個工具,也算得是個shell吧。

最典型的應用,也是最簡單的:

#!/usr/bin/expect
spawn ./myhelper.exe  ##要用這個打開程序
set timeout 10000  ##這個也很重要,如果超出了這個時間的話,就會自動地停下來,他的計時單位是:秒

expect "$"  ##意思是當輸出有$的時候
send "g\r"   ##就輸入g加回車

expect eof  ##要有
exit

但是在一個完整的測試當中往往還要和bash shell一起工作,我這次的測試也是。比要用bash shell來管理rm *.o呀之類的。如果bash shell 與 expect一起用的時候,那麼參數的傳遞就是最重要的了。我這裡利用bash shell的環境變量來傳遞:

在expect中,可以這樣用,其中keywords是環境變量名。記得環境變量要用export keywords=dddd

...

expect "$"
send "$env(keywords)"
send "\r"

...

P.S.: 在做export keywords=(computer&networks)&user這樣是不行的,要用export keywords="(computer&networks)&user"。看到了嗎,要用引號,等於號也不要留空格,卻記卻記!

Copyright © Linux教程網 All Rights Reserved