2012-01-12 55 views
0

我想在添加一行perl的命令到期望的腳本。錯誤「無效的命令名」在/ usr/bin中/ perl的」在expect腳本

這個線程的目的,我VE煮了我的劇本下降到2線:

#!/usr/bin/expect -f 

/usr/bin/perl -i -pe 's/\015/\012/g' 'test.txt' 

如果我執行只是在終端(蘋果機)perl的線,它運行良好。然而,我希望腳本產生了錯誤

error "invalid command name \"/usr/bin/perl\" 

我。我是shell腳本的新手,希望這是一件容易的事情解決方案,但期望文檔在網絡上似乎稀少。

我的其他選擇是保持2個腳本分開。

+0

沒關係。我放棄了期望,現在它工作得很好。 – 2012-01-12 17:35:22

+1

只要記住,期望不是殼,完全是一種不同的語言。就像Perl有'system'命令一樣,expect有'exec'命令。 – 2012-01-13 02:07:54

回答

0

期望是Tcl的超集。你需要的是exec command。要在子shell中執行命令並存儲結果,可以使用如下構造:

set result [exec /usr/bin/perl -i -pe 's/\015/\012/g' test.txt] 
相關問題