web-dev-qa-db-ja.com

--assume-yesを使用したapt-getインストールの自動化

ソフトウェアのリストをインストールするbashスクリプトを作成しようとしています。 --assume-yesを使用して、プロンプトを通過しています。

次の行はどういうわけか機能しません。

Sudo apt-get install python-software-properties --assume-yes

apt-getなしで--assume-yesを実行しようとすると動作しますが、プロンプトが表示されます:

please [Enter] to continue or ctrl+c to cancel adding it

追加する方法 Enter apt-get installを使用する代わりに--assume-yesを実行するときのコマンドとして

60
Rengas

あなたの問題は、オプションがパッケージの前ではなく前にあるべきであるということです、これは正しい構文です:

apt-get <options> command package=version/release

したがって、それが機能するためには次のようになります。

Sudo apt-get --assume-yes install python-software-properties

コマンドとオプションを混在させる場合、apt-getは許容されますが、安全のために、コマンドの前に常にオプションを使用し、パッケージの名前の後にオプションまたはコマンドを配置しないでください。

80
Braiam

以下のように-yフラグをapt-get install <package-name>コマンドに追加すると、パッケージのインストール中にプロンプ​​トは表示されません。

Sudo apt-get install -y <package-name>

apt-get --helpから

-y  Assume Yes to all queries and do not Prompt
46
Avinash Raj

次のような別の静かで効果的な方法:

Sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq python-software-properties < /dev/null > /dev/null
0
Myster-Mayur