filecount=0
if [ -e "$filename$ext" ]
then
ls -l $filename$ext
scp $filename$ext [email protected]:/home/t2flex/.
mv $filename$ext $filename"_"$d$done
echo $filename$ext secure copied to ccfilesvr
filecount=$((filecount+1))
else
echo "$filename$ext Not found in $path."
fi | tee >> $logfile
# -----------------------------------------------------
if [ -e "$filenam1$ext" ]
then
ls -l $filenam1$ext
scp $filenam1$ext [email protected]:/home/t2flex/.
mv -f $filenam1$ext $filenam1"_"$d$done
echo "$filenam1$ext secure copied to ccfilesvr"
filecount=$((filecount+1))
else
echo "$filenam1$ext Not found in $path."
fi
# ----------------------------------
echo "Number of files to transfer into ccfilesvr: $filecount" >> $logfile
if [ $filecount -ge 1 ]
then
echo "Files ready to upload to T2. Entering ccfilesvr..."
ssh [email protected] . t2flexXfer.shl
else
echo "No files to upload. Entering ccfilesvr to download charges."
ssh [email protected] . t2flexXfer.shl
fi
echo "Number of files to transfer into ccfilesvr: $filecount">> $logfile
Ниже приведен результат выше. Я предоставляю только часть кода, которая дает мне основания для ухода на пенсию!Значение переменной счетчика равно нулю в сценарии bash
-rw-r--r-- 1 oracle dba 455132 Feb 21 14:14 CC_T2_PERSON.txt
CC_T2_PERSON.txt secure copied to ccfilesvr
-rw-r--r-- 1 oracle dba 107314 Feb 21 14:14 CC_T2_CAMPUSBOX.txt
CC_T2_CAMPUSBOX.txt secure copied to ccfilesvr
Number of files to transfer into ccfilesvr: **0**
No files to upload.
Почему счетчик всегда выступает как «0» для меня?
Я попытался вычеркнуть «0» выше, и вышла звездочка. Пренебрежение **. Также игнорируйте | tee $ logfile ... Я хотел удалить это с целью удобочитаемости, но забыл. –
Команда 'tee' (или, скорее, канал, используемый для подключения своего ввода к выходу оператора' if'), будет проблемой. Вы увеличиваете 'filecount' в подпроцессе. – chepner
Добавьте отладочное эхо после увеличения размера файла. –