私はアマゾンのLinuxインスタンスで動作し、私はデータを移入し、私が一緒に働くすべてのプログラムをインストールするためのカップルのスクリプトを持っていますが、プログラムのカップルが尋ねる:プログラムのインストールに「はい」という応答をスクリプト化するにはどうすればよいですか?
Do you want to continue [Y/n]?
をして、インストールを一時停止。私はすべての場合に "Y"という答えを自動的に出したいと思っています。
私はアマゾンのLinuxインスタンスで動作し、私はデータを移入し、私が一緒に働くすべてのプログラムをインストールするためのカップルのスクリプトを持っていますが、プログラムのカップルが尋ねる:プログラムのインストールに「はい」という応答をスクリプト化するにはどうすればよいですか?
Do you want to continue [Y/n]?
をして、インストールを一時停止。私はすべての場合に "Y"という答えを自動的に出したいと思っています。
'yes' commandは、「y」(またはあなたが求めるもの)を無期限にエコーします。
yes | command-that-asks-for-input
や、資本「Y」が必要とされている場合:
yes Y | command-that-asks-for-input
これは、yesからの入力を使用するためにサポートされているコマンドでのみ動作しますか? OpenStackから一見してみましたが、これはうまくいかず、すべての状況に対してExpectがより正確になったと思います。 – HVNSweeting
//完全な単語「はい」を入力する必要がある場合はどうなりますか? –
@ NathanBasaneseコマンド 'yes yes'を実行してください。 – Dylan
これはもっと複雑で重いかもしれませんが、非常に柔軟な方法の1つはExpect(または別のプログラミング言語の派生物)のようなものを使用しています。
Expectは、テキストベースのアプリケーションを制御するために特別に設計された言語であり、まさにあなたが探しているものです。あなたが何かもっと複雑なことをする必要が生じたら(実際に何をやるか/次に答えるかを決めるロジックのように)、期待は行く方法です。
echo y | command
が有効です。
また、一部のインストーラには「auto-yes」フラグがあります。 Ubuntuでapt-get
の場合は-y
です。
//、あなたがターゲット・サーバー上で期待インストールする機能を持っていないかもしれないとして、それを使用してください。 これは、たとえばJenkinsの仕事を書くときによくあることです。
もしそうなら、私はaskubuntu.comに次のような答えのようなものを検討する:まれにコマンドを入力押すようにユーザーを必要としないことhttps://askubuntu.com/questions/338857/automatically-enter-input-in-command-line
printf 'y\nyes\nno\nmaybe\n' | ./script_that_needs_user_input
注
文字の後に。その場合には改行を省略:
printf 'yyy' | ./script_that_needs_user_input
は完全を期すために、あなたもここで文書を使用することができます
./script <<< "y
y
y
"
:
./script_that_needs_user_input << EOF
y
y
y
EOF
またはシェルはそれをここに文字列をサポートしている場合
また、1行に1つの入力ファイルを作成することもできます。
./script < inputfile
この回答のクレジットはaskubuntu.com、@lesmanaの回答者に送られます。
//この回答が好きな人はaskubuntu.comのユーザー@lesmanaにアップアップをしてください。 –
パッケージマネージャには、使用できる '--noprompt'または' --noconfirm'フラグがあります。 – Blender