Whiptailは、これを行うためのツールです。タスクの完了中に進行状況バーやその他の情報を表示するのはかなり簡単です。
実際、これは Debian や他の多くのディストリビューションで使用されているツールであり、あなたが使用しているコンテキストとまったく同じです。
以下は、aptitude のインストールをより見やすくするために使用するコードの簡略化されたバージョンです。
pkg=0
setterm -msg off # Disable kernel messages to this terminal
setterm -blank 0 # Disable screen blanking
aptitude -y install <list of packages> | \
tr '[:upper:]' '[:lower:]' | \
while read x; do
case $x in
*upgraded*newly*)
u=${x%% *}
n=${x%% newly installed*}
n=${n##*upgraded, }
r=${x%% to remove*}
r=${r##*installed, }
pkgs=$((u*2+n*2+r))
pkg=0
;;
unpacking*|setting\ up*|removing*\ ...)
if [ $pkgs -gt 0 ]; then
pkg=$((pkg+1))
x=${x%% (*}
x=${x%% ...}
x=$(echo ${x:0:1} | tr '[:lower:]' '[:upper:]')${x:1}
printf "XXX\n$((pkg*100/pkgs))\n${x} ...\nXXX\n$((pkg*100/pkgs))\n"
fi
;;
esac
done | whiptail --title "Installing Packages" \
--gauge "Preparing installation..." 7 70 0
setterm -msg on # Re-enable kernel messages
invoke-rc.d kbd restart # Restore screen blaking to default setting