【发布时间】:2016-10-16 00:21:49
【问题描述】:
我有一个非常简单的脚本(for_loop4.sh),如下所示。
# !/bin/zsh
#
for (( i = 0; i < 3; i++ ))
do
echo $i;
done
我的 shell 使用的是 zsh 5.0.7。
当使用 source、zsh 和 .命令, 它按预期工作。但是,当直接调用这个脚本时, 它失败并显示消息“循环变量错误”。
为什么会这样? 有什么区别?
$ 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
【问题讨论】:
-
for_loop4.sh 上是否设置了执行位?如果你 chmod +x ./for_loop.sh 系统是否有相同的结果?
-
我在运行 zsh 5.0.8 的 Mac 上得到不同的结果。
标签: linux shell zsh dot-source