我有一個試圖安裝bin的腳本。EULA接受Bash腳本
除了.bin打開EULA以外,一切正常。 在腳本重新開始並自行完成安裝之前,您必須手動將Ctrl c從此更多實例中移出。
因爲這更多的是逃離shell腳本不知道打開後要運行什麼。 有沒有一種方法可以期待尋找並預防它?
沒有自定義標誌來自動接受eula。
我到處尋找解決方案,但沒有任何工作。
命令本身是很簡單的,但定界符
/bin/bash gp.bin << AUTO
REST
OF
PARAMETERS
AUTO
我有一個試圖安裝bin的腳本。EULA接受Bash腳本
除了.bin打開EULA以外,一切正常。 在腳本重新開始並自行完成安裝之前,您必須手動將Ctrl c從此更多實例中移出。
因爲這更多的是逃離shell腳本不知道打開後要運行什麼。 有沒有一種方法可以期待尋找並預防它?
沒有自定義標誌來自動接受eula。
我到處尋找解決方案,但沒有任何工作。
命令本身是很簡單的,但定界符
/bin/bash gp.bin << AUTO
REST
OF
PARAMETERS
AUTO
您應該能夠使用「Q」退出更合適的前遭到封鎖,但只會交互工作。
如果安裝腳本寫得很好,你可以使用更多的東西作爲你的尋呼機。試試:
export PAGER=cat
然後看看行爲是否改變。
如果你仍然卡住,你可能不得不看看類似Expect而不是heredoc。
expect
可以立即發送Ctrl-C:http://expect.sourceforge.net/FAQ.html#q54
例如:
#!/usr/bin/env expect
spawn "/vendor/install/script.sh"
expect "EULA blah blah blah"
send \003
#rest of expect script...
但嘗試PAGER
環境變量已經建議。
好主意,重新分配尋呼機。 :)爲什麼'q'不能與'expect'一起工作? – 2012-01-31 21:58:41
「q」應該可以很好地工作。請記住,期望模擬交互性。 :-) – Graham 2012-01-31 22:17:17
可悲的是它沒有奏效,但Expect已經。唯一的問題是我現在必須在腳本的早期自動安裝。儘管如此。謝謝。 – 2012-02-01 14:23:41