opkgインストールのインストールの進行状況を確認するには?

opkgインストールのインストールの進行状況を確認するには?

以下を使用してアップグレードをインストールするアプリケーションを作成しています。opkg包装システム

進行状況バーを作成できるように、全体の進捗状況を確認する方法はありますか?

答え1

私は最初にopkgに触れ、それが基本的な進行状況バーを提供しているかどうかわかりません。私が見たものの最も近いものは-V詳細です。より良い解決策がない場合は、次のスクリプト(名前付きファイルなどjspb)を保存して実行可能にしてから(chmod u+x jspbjspb opkg upgrade packagenamegetを呼び出すことができます。進行状況バー。

持つより良いもの進行状況バーを作成する方法がありますが、何かを書きたいです。シミュレーション進行状況バー。これには1つの主な要件があります。つまり、提供したタスクの進行状況を追跡できるように、/proc 擬似ファイルシステムが必要です。それ以外の場合は非常に簡単なので、ほとんどのシェルで動作します(bash、ksh、dash、およびBourne shでテスト)。移植性が非常に高いため、シェルチェックはスクリプトで使用されている「旧式」および「レガシー」構造について文句を言います。これは正しいです。画面の列をインテリジェントに埋めます。アップデートプロセス中にウィンドウのサイズを変更してみてください。

#!/bin/sh

# Jeff's progress bar
# *simulates* a progress bar

# better options:
# https://github.com/Xfennec/progress
# http://www.theiling.de/projects/bar.html

if [ ! -n "$*" ]
then
  echo Nothing to do, exiting!
  exit 0
fi

if [ ! -d /proc/$$ ]
then
  echo Missing /proc, sorry
  exit 1
fi

sh -c "$*" &
PID=$!
# give the command a chance to fail immediately, if it will
sleep 1

# dash, Bourne sh do not have $RANDOM
HAVERANDOM=0
if [ -n "$RANDOM" ]
then
  HAVERANDOM=1
fi

i=1
while [ -d /proc/$PID ]
do
  # simulate progress
  if [ $HAVERANDOM ]
  then
    sleep `expr $RANDOM % 4`
  else
    sleep `expr $i % 4`
  fi

  # see if our window got resized
  cols=`tput cols`
  if [ $i -ge $cols ]
  then
    printf "\r"
    # clear out the old progress bar and start over!
    while [ $i -gt 1 ]
    do
      printf " "
      i=`expr $i - 1`
    done
    printf "\r"
  fi
  # making progress!
  printf "#"
  i=`expr $i + 1`
done

# only clear the progress bar it if we wrote something
if [ $i -gt 1 ]
then
  pacman=1
  printf "\r"
  while [ $pacman -lt $i ]
  do
    printf " "
    pacman=`expr $pacman + 1`
  done
  printf "\r"
fi

マスターコピーが開始されました。ジタブ

関連情報