这是一个非常奇怪的问题。我使用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
答案 0 :(得分:3)
bash中没有foreach
。您尝试过的内容可以在tcsh
或csh
中使用。
相应的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