シェルのカウンター

シェルのカウンター

入力パラメータのカウンタを設定し、数が5に達したときに操作を実行する必要があるシェルスクリプトを探しています。問題は、n個の入力パラメータがある可能性があり、作業も時間によって異なります。 60分後にカウントが5に達したら、何をしたいのかを考えてみましょう。

以下のようなものが見つかりましたが、プログラムに説明がありません...助けてください...

#!/bin/sh
COUNTER=0
VALUE="-1"
echo "Enter a series of lines of numbers separated by spaces."
read LIST
IFS=" "
for VALUE in $LIST ; do
    eval ARRAY_$COUNTER=$VALUE
    eval export ARRAY_$COUNTER
    COUNTER=$(expr $COUNTER '+' 1) # More on this in Paint by Numbers
done

# print the exported variables.
COUNTERB=0;
echo "Printing values."
while [ $COUNTERB -lt $COUNTER ] ; do
    echo "ARRAY[$COUNTERB] = $(eval echo '$'ARRAY_$COUNTERB)"
    COUNTERB=$(expr $COUNTERB '+' 1) # More on this in Paint by Numbers
done

ありがとう

答え1

スクリプトが複数回呼び出される場合は、外部永続形式、環境変数、またはファイルにカウンタを保存する必要があります。この場合、この目的のためにARRAY_nをエクスポートします。

関連情報