Я могу без проблем запускать приведенные ниже коды построчно, используя терминал, но когда я запустил файл сценария, я получил
line 14: unexpected EOF while looking for matching `"'
line 30: syntax error: unexpected end of file
файл сценария:
# this script produces edited rinex files from uncompressed rinex files
echo "NECESSARY FILES ARE UNCOMPRESED OBSERVATION (.o) FILES
# example: rnxEditGde.py -d amc20130.18d.Z -rate 30 -out amc2.gz
shopt -s nullglob
shopt -s failglob
i=$(find . -maxdepth 1 -type f -name '*[0-9][0-9]o' -printf 'x' | wc -c)
grep "MARKER NAME" *.[0-9][0-9]o > grep_file
awk -F'[: ]' '{print $1}' grep_file > station_ids
function pl {
sed -n "$1p" $2
}
for (( j=1; j <= i; j++ ))
do
ids=$(pl $j station_ids)
rnxEditGde.py -d $ids -rate 30 -out $ids.gz
done
Используйте https://www.shellcheck.net / , он поможет Вам найти проблемы со сценарием:
$ shellcheck myscript
Line 2:
echo "NECESSARY FILES ARE UNCOMPRESED OBSERVATION (.o) FILES
^-- SC1009: The mentioned syntax error was in this simple command.
^-- SC1078: Did you forget to close this double quoted string?
Line 10:
grep "MARKER NAME" *.[0-9][0-9]o > grep_file
^-- SC1079: This is actually an end quote, but due to next char it looks suspect.
^-- SC1078: Did you forget to close this double quoted string?
Line 14:
sed -n "$1p" $2
^-- SC1079: This is actually an end quote, but due to next char it looks suspect.
^-- SC1073: Couldn't parse this double quoted string. Fix to allow more checks.
Line 24:
^-- SC1072: Expected end of double quoted string. Fix any mentioned problems and try again.
, Таким образом, необходимо заключить аргумент в кавычки echo
в строке 2
эхо "НЕОБХОДИМЫЕ ФАЙЛЫ ЯВЛЯЕТСЯ НАБЛЮДЕНИЕМ UNCOMPRESED (.o) ФАЙЛЫ
, Эта строка должна закончиться с" (каждый, вводные двойные кавычки требуют заключительной двойной кавычки)
эхо, "НЕОБХОДИМЫЕ ФАЙЛЫ ЯВЛЯЮТСЯ НАБЛЮДЕНИЕМ UNCOMPRESED (.o) ФАЙЛЫ"