Get Bash MINGW32 не исключает длину массива с круглыми скобками - PullRequest
0 голосов
/ 27 января 2019

У меня странное поведение с git (поставляется с установкой исходного дерева) mingw32 bash.

Скажем, я вижу окружающие скобки массива:

for ((i=0; i<(${#list_array[@]}); ++i)); do

done

Я получаю этоошибка:

./test.sh: line 1595: syntax error near unexpected token `newline'
./test.sh: line 1595: `        done'

Но когда я удаляю окружающие скобки следующим образом:

for ((i=0; i<${#list_array[@]}; ++i)); do

done

Все работает нормально, в результате у меня возникает кроссплатформенная проблема
, так как этот скрипт запускаетсяLinux и теперь мне нужно, чтобы он работал под Windows.
Мне действительно нужно знать причину этого.

Это моя версия bash в mingw32:

$ bash -version
GNU bash, version 4.3.46(2)-release (i686-pc-msys)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

1 Ответ

0 голосов
/ 27 января 2019

Скорее всего, "syntax error near unexpected token 'newline'" указывает на конец строки DOS или другой посторонний символ в вашем массиве, вызывающий проблему.

...