입력 매개변수에 대한 카운터를 설정하고 개수가 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을 내보냅니다.