2012-03-09 55 views
1
#!/usr/bin/expect 

spawn passwd [lindex $argv 0] 
set password [lindex $argv 1] 

expect -nocase "pass*" { 
     send "$password\r" 
} 

expect -nocase "password" { 
     send "$password\r" 
} 

expect eof 

我該如何防止期望擴大glob *pass*?這只是一個例子。在我的實際代碼中,我想保留glob,但我不想在-ex(代表完全匹配)或-re選項用於正則表達式。沒有全局擴展沒有-re選項在期望

回答

2

如果你想有一個全局樣式匹配,使用-gl選項前:

expect { 
    -gl -nocase "pass*" { 
     # Do something... 
    } 
} 
1

當你寫了從*使用-ex globing阻止。默認情況下,假定爲-gl。或使用-re並將*轉義爲:\\*