2012-09-04 39 views
1

我的bash代碼如下所示:繼續腳本預計會在{} exp_continue

/usr/bin/expect -c ' 
    spawn python Tools/python/install.py 
    expect { 
     -nocase "password:" { 
      send "$env(PASS)\r" 
      exp_continue 
     } 
    } 
    interact 
' 

此代碼似乎除了它提交密碼後,它掛起事實上班。在這段代碼之後,我想在腳本中執行更多的代碼。有沒有辦法讓我回到bash腳本中繼續執行這段代碼下面的行?

+1

我猜''interact'命令正在咬你。在手冊頁中,interact *將當前進程的控制權交給用戶,以便擊鍵被髮送到當前進程,並且當前進程的stdout和stderr被返回*。您是否曾嘗試在後臺使用'&'或'screen'發佈此命令? –

+0

是的,就是這樣,去除互動就是訣竅! – user788171

+0

這是http://stackoverflow.com/q/11606149/7552的後續問題 –

回答

2

(剛剛正式回答這個問題)...

我猜interact命令咬你。從手冊頁:

互動給當前進程的控制權交給用戶,讓擊鍵發送到當前進程和當前進程的輸出和錯誤返回。

我會嘗試以下任一:

  • 刪除interact命令使用&screen

基於您的評論在後臺命令

  • 問題,它看起來像前者是有效的。