2016-10-05 176 views
-1

已通過提供默認值編寫了安裝期望腳本。它沒有正確安裝,而且在執行期間,它不是控制檯上的執行進度。Expect腳本未在控制檯上顯示腳本執行

#!/usr/bin/expect -f 

cd /opt/hyperic-hqee-agent-5.8.6 
exec rm -rf data 
cd bin 
exec ./hq-agent.sh stop 
exec ./hq-agent.sh start 
expect ": $" 
send "\r" 
expect ": $" 
send "10.152.24.109\r" 
expect ": $" 
send "\r" 
expect ": $" 
send "\r" 
expect ": $" 
send "\r" 
expect ": $" 
send "hqadmin\r" 
expect ": $" 
send "\r" 
expect ": $" 
send "\r" 
expect ": $" 
send "yes\r" 
+2

當你說「它沒有正確安裝」時,錯誤信息是什麼,或者出了什麼問題?你在控制檯期望什麼樣的執行進度? – Jerry

+0

我試圖通過停止現有應用程序來自動安裝應用程序。它會在安裝過程中期望一些輸入,其中大多數是默認的。所以發送'\ r'。它也不顯示任何錯誤消息。它正在循環,並在'exec ./hq-agent.sh start'中被觸發,而沒有做更多的事情。它不在控制檯上顯示交互。 – Karthik

回答

0

我弄錯了。我應該使用'spawn'來代替'exec'。它只是作爲一個shell命令而沒有互動。

cd bin 
spawn ./hq-agent.sh stop 
expect ":$" 
spawn ./hq-agent.sh start 
expect ": $" 
send "\r" 
expect ": $" 
. 
.. 
. 
interact 

感謝您的幫助。

0

exec命令返回標準輸出。如果你想打印它,請使用

puts [exec external_command]