Текстовый редактор, который вы использовали для внесения изменения, использовал ”
вместо ожидаемого "
, чтобы закрыть строку YEARS. Это нарушает полные разграничения строк в файле, что вы можете увидеть выделение синтаксиса вашего вопроса.
Исправленная версия ниже, обратите внимание на другое выделение синтаксиса:
#!/bin/bash
REPORTS="Product_Report"
YEARS="2014 2015 2016 2017"
MONTHS="01 02 03 04 05 06 07 08 09 10 11 12"
for r in ${REPORTS}; do
echo "Rebuilding ${r}.csv"
head -n 1 ${r}.header > ${r}.csv
for y in ${YEARS}; do
for m in ${MONTHS}; do
f="Data/${r}_${y}${m}.csv"
if [ ! -s "${f}" ]; then echo "Skipping ${f} (not present)"; continue; fi
tail -n +2 ${f} >> ${r}.csv
wc -l ${f}
done
done
echo
wc -l ${r}.csv
done