2012-01-31 5 views
2

私はビンをインストールしようとしているスクリプトを持っています。EULA Bashスクリプトを受け入れる

すべてがうまくいきます。ただし、.binがEULAをより多く開いている点を除いてすべて動作します。 スクリプトがもう一度開始される前に、このインスタンスから手動でctrlを外して、独自のインストールを完了させる必要があります。

これ以上はシェルをエスケープしているので、スクリプトは開いた後に何を実行するかを知りません。 これを探して防止する方法がありますか?

eulaを自動受け入れるカスタムフラグはありません。

アイヴはどこでも解決策を探しましたが、何も動作していません。

コマンド自体は十分に簡単ですが、右のヒアドキュメント

/bin/bash gp.bin << AUTO 
REST 
OF 
PARAMETERS 
AUTO 

答えて

3

あなたはより多くを終了するには、「Q」を使用することができるはずの前にブロックされるが、それは唯一の対話形式で動作します。

インストールスクリプトがうまく書かれていれば、ページャとしてmore以外のものを使うことができます。試してください:

export PAGER=cat 

動作が変わるかどうかを確認してください。

まだ固まっている場合は、heredocの代わりにExpectのようなものを見る必要があります。例えばhttp://expect.sourceforge.net/FAQ.html#q54

+0

ページャを再割り当てすることをお勧めします。 :)なぜ 'q'は' expect'と一緒に動作しませんか? –

+0

"q"は期待通りに動作します。期待することは、インタラクティブ性をエミュレートすることです。 :-) – Graham

+0

悲しいことに、それはうまくいきませんでしたが、Expectは持っています。唯一の問題は、スクリプトの初期段階でのインストールを自動化する必要があることです。しかし、非発行。ありがとうございました。 –

2

expectは、Ctrl-Cを送信することができます

#!/usr/bin/env expect 

spawn "/vendor/install/script.sh" 
expect "EULA blah blah blah" 
send \003 
#rest of expect script... 

をしかし、既に提案されているようPAGER環境変数を試してみてください。

関連する問題