Я хочу передать множество аргументов скрипту оболочки, который я не знаю, сколько аргументов у них будет, и я хочу обработать их.Я сделал следующий код:
int=$1
src=$2
r=$3
string=$4
duration=$5
./start.sh $int $r $src "$string"
sleep $duration
shift; shift; shift; shift; shift
while [ $# -gt 2 ]
do
r=$1
string=$2
duration=$3
./change.sh $int $r "$string"
sleep $duration
shift; shift; shift
done
Это работает, но только один раз, теперь я хочу, чтобы этот скрипт работал постоянно, я имею в виду использование while 1
, но это не будет работать, потому чтосписок аргументов пуст в конце этого кода!
Есть ли способ сделать что-то вроде следующего «псевдокода» в скриптах оболочки:другой массив, чтобы я мог использовать его позже, как я хочу.Я имею в виду, могу ли я скопировать $*
или $@
или arg
в другой массив?
Любая помощь высоко ценится.