私は顧客のサーバのいくつかのデフォルト設定を行うためのスクリプトを書いており、ほぼ100%稼働させています。「yum -y update」の実行中に2秒ごとにエコーを繰り返す方法はありますか?
私が理解できないのは、yum -y update
をどのようなループで実行して "。"をエコーするかです。 2秒ごとに更新されます。ここで
は動作しませんが、私はそれがが仕事をするようにするために変更するかわからないという、もう少し
明らかYUMLOG=/var/log/config.log
while [ yum -y update > $YUMLOG 2>&1 ]
do
echo "."
sleep 2
done
を説明するためのコード例です。私はコードに、この 'プログレスバー'の効果を与える他の部分を持っていますが、ループの中には何もありません。たとえば、次のように
if [ $SETXENNET != "y" ]; then
sleep 1
cp $TEMPLATEDIR/rc.local.template $TEMPLATEDIR/rc.local.new
echo "."
sleep 1
cp $TEMPLATEDIR/rc.local.new /etc/rc.local
echo "."
sleep 1
chmod a+x /etc/rc.local
echo "."
sleep 1
else
sleep 1
cp $TEMPLATEDIR/rc.local.xen.template $TEMPLATEDIR/rc.local.xen.new
echo "."
sleep 1
cp $TEMPLATEDIR/rc.local.xen.new /etc/rc.local
echo "."
sleep 1
chmod a+x /etc/rc.local
echo "."
sleep 1
fi
そして、私は人々がすべての「スリープ」のために私を叫んで取得する前に、人々はそれがどのような彼らの任意のアイデアを持っていない実行しているので、私は、スクリプトの進行状況を表示する方法を持っていなければなりませんでした(彼らはちょうどチェックリストからキーストロークを読んで、何かが終わったときにチェックする)。
普通の英語で何が起きているのか(つまり「完了」、「スキップされました」)、そして2)スクリプトがまだ実行中であることを視覚化するために、画面に何も表示されない場合
最後に、進歩を示しているようにグローバルな変更を加えることはできません。すべての変更を行うにはあまりにも多くのコードが必要です。しかし、それが絶対的な唯一の答えであるなら、それは私がやらなければならないことかもしれないと思います...