У меня есть сценарий оболочки s1, вызывающий другой цикл s2 в цикле.
Однако s1 не может продолжать цикл после возврата s2.
Комментирование строки, которая вызывает s2, позволит продолжить цикл.
s2 делает копию одного файла, s1 проверяет условия и копирует несколько файлов, используя s2.
Кто-нибудь может дать указатель, что здесь происходит?
...
while read line
do
s2 param1 param2 param3
echo "copy done"
done < $tempfile
echo "out of loop"
...
напечатано "копирование выполнено", значит "вне цикла"
Некоторое содержимое в s2:
if ls -l $LOGDIR | grep -w sftp.log
if ssh $USER -i $IDENTITY "ls -l $MOV_LOC"
cat $TMPDIR/$TMPFILE1 | /usr/xpg4/bin/awk -v logdir=$LOGDIR -v register=$REGISTER -v rmt_cmd=$RMT_CMD -v identity=$IDENTITY '{print "scp -q -r -P 22 -i", identity, rmt_cmd ,$NF, ">>" , logdir "/" register , "2>&1"}' > $TMPDIR/$TMPSCRIPT2
cat $TMPDIR/$TMPFILE1 | /usr/xpg4/bin/awk -v tmpdir=$TMPDIR -v list=$TMPFILE2 '{print "digest -a sha1" , $NF , ">>", tmpdir "/" list}' > $TMPDIR/$TMPSCRIPT1
ssh $USER -i $IDENTITY "mv $REMOTE_QUEUE $MOV_LOC" > $TMPDIR/$TMPFILE5