сценарий оболочки:
VAR=(aa bb cc)
for i in "${VAR[@]}"
do
echo $i;
done
при запуске с использованием . ar_test.sh
он работает.
zhangyf@zhangyf-desktop:~/test$ . ar_test.sh
aa
bb
cc
, но при этом не работает,
zhangyf@zhangyf-desktop:~/test$ ./ar_test.sh
./ar_test.sh: 9: Syntax error: "(" unexpected
В файле есть другие строки, поэтому строка 9 на самом деле VAR = (aa bb cc).Я знаю разницу в том, что последний разветвляется на новый процесс оболочки, в то время как первые запускают скрипт в текущей оболочке, но почему результат так сильно отличается?