Shell脚本:语法错误:“(”意外

时间:2019-09-05 07:11:32

标签: bash shell sh

这是一个非常奇怪的问题。我使用sh test.sh运行test.sh,但它返回了主题行中提到的错误。

以下是参考代码:

#!/bin/bash

foreach n ( 1 2 3 4 5 )
  echo $n
end

这只是一个简单的循环,但不会执行。完整的错误如下:

test.sh: 3: test.sh: Syntax error: "(" unexpected

3 个答案:

答案 0 :(得分:3)

bash中没有foreach。您尝试过的内容可以在tcshcsh中使用。

相应的bash语法是

for n in 1 2 3 4 5 ; do
    echo $n
done

答案 1 :(得分:2)

foreach在bash中不可用。而是for

对于基于范围的简单迭代,

for n in {1..5};
do
  echo $n;
done

也可以反向工作:{5..1} 字母:{a..z} {z..a}

要使用step != 1进行更多基于范围的迭代,请使用seq

答案 2 :(得分:1)

将其更改为此:

#!/bin/bash

for n in  1 2 3 4 5
do
  echo $n
done