以下に示すように、非常に単純なスクリプト(for_loop4.sh)があります。
# !/bin/zsh
#
for (( i = 0; i < 3; i++ ))
do
echo $i;
done
シェルに zsh 5.0.7 を使用しています。
ソース、zsh、および. コマンド、期待どおりに動作します。しかし、このスクリプトを直接呼び出すと、「Bad for loop variable」というメッセージで失敗します。
なぜこれが起こるのですか?違いは何ですか?
$ source ./for_loop4.sh
0
1
2
$ zsh ./for_loop4.sh
0
1
2
$ . ./for_loop4.sh
0
1
2
$ ./for_loop4.sh
./for_loop4.sh: 4: ./for_loop4.sh: Syntax error: Bad for loop variable