15

Ubuntu 11.04 で行っているいくつかの作業を自動化する Linux シェル スクリプトを作成しています。

基本的に、NGINX、MySQL、および PHP をインストールし、すべてを構成するためのシェル スクリプトを作成しています。コマンドラインからすべてを行う方法を知っています。

ただし、プロセスがユーザー入力を求める部分をどのように処理するのかわかりません。たとえば、私が apt-get でインストールしたものの中には、(Y)es または (N)o などの確認を求めるものがあります。

シェルスクリプトで自動確認をどのように処理しますか?つまり、尋ねられたときに自動的に [はい] または [いいえ] を確認しますか?

4

4 に答える 4

19

yes | ./scriptすべてにお答え yします。

それ以外の場合は、必要な回答を出力するスクリプトを作成します。たとえば、次のようになります。

 echo N
 echo Y
 echo Y
于 2011-09-14T09:57:38.823 に答える
3

通常、すべての質問に自動的に「はい」と答えるオプションを使用して、このような対話型プログラムを呼び出すことができます。たとえば、 で呼び出すことができapt-getます-y。マニュアルページから:

-y, --yes, --assume-yes プロンプトに対して自動的に yes。すべてのプロンプトに対する答えとして「はい」と仮定し、非対話的に実行します。

于 2011-09-14T09:56:40.743 に答える
2

Apt の場合、正解はdebconfデータベースに正しいパラメータを「プレシード」することです。Debconf がデータベースから答えを見つけた場合、質問はしません。http://www.debian-administration.org/articles/394も参照してください。

于 2011-09-14T09:47:46.473 に答える
1

それがあなたが探しているものかもしれないと期待してみてください。

于 2011-09-14T10:45:36.120 に答える