web-dev-qa-db-ja.com

apt-getから(bashスクリプトから)インストールするときに、プロンプトに対して「はい」を強制する方法はありますか?

bashマシンで使用するいくつかのパッケージのインストールを自動化するubuntuスクリプトを作成しようとしています。私は頻繁にAmazon AWSまたはDigital Oceanを介して仮想マシンを作成します。使用するすべてのパッケージをインストールするために1つのスクリプトを実行したいだけです。

インストールしたいパッケージのいくつかはEmacsとNode.jsです

これらをインストールする通常の方法はapt-get install Emacsを実行することであり、これを実行している間、このアプリが占有するスペースの量に関する警告が常に表示されます。

スクリプトからこのプロセスを自動化し、これらのプロンプトに対して常に「はい」と言う方法はありますか?

13
Startec

man apt-getOPTIONSセクションから

-y, --yes, --assume-yes
    Automatic yes to prompts; assume "yes" as answer to all prompts and
    run non-interactively. If an undesirable situation, such as
    changing a held package, trying to install a unauthenticated
    package or removing an essential package occurs then apt-get will
    abort. Configuration Item: APT::Get::Assume-Yes.
33
steeldriver

というUNIXコマンドがあります

はい

オプションを指定しないと、強制終了されるまで文字列「y」が繰り返し出力されます。

それを使用するには、確認を必要とするコマンドに結果をパイプするだけです:

yes | apt-get install ...

詳細は nix manページ またはSO投稿 「yes」コマンド をご覧ください。

6
WeSee

追加-y任意のライブラリインストールに対して yesと答えることができます

例:apt-get install -y nodejs

例:apt-get install -y gnupg

0
vijay