2017-02-09 6 views
0
で複数のキーを押す

人を必要とするJavaアプリケーションの自動インストール、私はbashので.jarアプリをインストールしようとしています、私がようにコードを実行しています:バッシュ

java -jar someApp.jar -console 

問題は次のとおりです。

    私はその後、私は使用許諾契約書(私はばかげ知っている)を受け入れるように Enter二十から二回押す必要がインストール
  1. を開始する1を押す必要が
  2. その後、もう一度1を押す必要があります。

私はこのようなスクリプトに複数のコマンドをパイプしようとした...

を私は期待して使用してみましたが、ライセンス契約は、テキストのboatloadsを持っているので、それを行うのは難しい:

echo '1', echo -ne "/n" | java -jar servoy_installer.jar -console 

しかし、ノー運、

おかげで、

+0

私は、あなたがしばしば(あなたはあなたがライセンスを読むことを望む)[enter]を押してほしい理由があると確信しています。 – Thomas

+0

ええ、それについて教えてください:p @Thomas – Raja

+0

@Raja:ただの盲目の推測、 'printf" 1 "; printf '\ n%.0s' {1..22}; printf "1" | java -jar servoy_installer.jar -console'?価値がある? – Inian

答えて

0

あなたはexpectのようなツールを使用することができます。例えば

pexpectのようなものの様々なPythonのバージョンは、基本的にexpectスクリプトは、あなたがSTDOUTSTDINから読み書きさを扱っているプログラム限り(「相互作用」のような種類をコーディングすることができます)。

他の言葉で言えば、あなたの好みのスクリプト言語が "期待する"振る舞いをどのようにサポートしているのかチェックしてください。そのようなことを自動化するスクリプトを作成することができます。

コメント内に示されているとおり、基本ライセンスによっては、使用しているソフトウェアの使用条件の違反違反の可能性があります。 「回避策」はインストーラがこれらのライセンスステートメントを作成していることを確認するために、何らかの形でユーザに通知されます。