たぶん私が間違って考えているかもしれないので、提案を受け入れる準備ができています。 INSTALLED_LISTの出力をファイルに追加したくありません。変数に使いたいです。
デフォルトでは、システムにパッケージリスト(INSTALLATION_PACKAGES)がインストールされていることを確認したいと思います。それ以外の場合は、失敗したインストールを記録し、メッセージを記録して終了します。これはifステートメントの外でうまく機能しますが(コメントアウトされた行を参照)、ifステートメント内での実装に問題があります。
助けてくれてありがとう。
INSTALLED_LIST=`dpkg --list`
for i in $INSTALLTION_PACKAGES; do
apt-get -y install $i
# echo "$INSTALLED_LIST" | grep -ie "^ii $i "
if ! echo "$INSTALLED_LIST" | grep -ie "^ii $i " ; then
echo $i >> $FAILED_INSTALL
fi
done
答え1
$INSTALLATION_PACKAGES
すべてのパッケージをインストールするには、apt-get install
すべてのパッケージをインストールします。それからそのうち、失敗したものがあることを確認してください。
apt-get -y $INSTALLATION_PACKAGES
list=$(dpkg -l | grep ^ii)
for i in $INSTALLATION_PACKAGES do
echo "$list" | grep -w "$i" || echo "$i" >> $FAILED_INSTALL
done