外壳中的计数器

外壳中的计数器

我正在寻找一个 shell 脚本,其中需要为输入参数设置计数器,并在计数达到 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 被导出用于此目的。

相关内容