0

我有非常简单的脚本(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
4

2 回答 2

1

你的第一行是错误的:

# !/bin/zsh

它应该是:

#!/bin/zsh
于 2016-06-15T04:23:38.163 回答
0

确保您的 zsh 安装在哪里。它可以安装到 /usr/ 目录中。
你可以输入,

$哪个zsh

于 2016-06-15T07:09:39.980 回答