私はbash
スクリプトを使用して最初に仮想マシンを設定して更新します。bash
手動で実行する必要なく、このスクリプトを使用して仮想マシンを構成してみてください。
#! /bin/bash
echo "Updating and Installing binaries"
echo yes | sudo apt-get update && sudo apt-get upgrade
Y
「sudo apt-get update && sudo apt-get upgrade
続行しますか?」という応答をすばやく自動化する方法がわかりません。このためにスクリプトをどのように変更しますか?
私はUbuntuを使用しています。
答え1
オプションはプロンプトに自動的に「はい」と答えます-y
。これにより、非対話型実行apt-get
も発生します。apt-get
アーカイブされたパッケージを変更すると、認証されていないパッケージがインストールされるか、重要なパッケージが削除され、そのapt-get
操作が中断されます。
と--yes
オプションは--assume-yes
のエイリアスです-y
。
これは、次のスクリプトを書くことができることを意味します。
#!/bin/sh
echo 'Updating and Installing binaries'
sudo apt-get -y update && sudo apt-get -y upgrade
または、スクリプトがルートによって実行されると仮定する場合(これにより、sudo
スクリプトの実行中に対話的にパスワードを要求するのを防ぐことができます):
#!/bin/sh
if [ "$(id -u)" != "0" ]; then
echo 'Need to be root' >&2
exit 1
fi
apt-get -y update && apt-get -y upgrade
このオプションはすべてのプロンプトに「いいえ」と応答するため、--trivial-only
ANDの論理反対と見なすことができます。--assume-yes
詳しくは、apt-get
該当するマニュアル(man apt-get
)を参照してください。