0

在终端内运行以下代码与在脚本文件中运行以下代码,我得到了不同的结果。

for i in {1..5}
do  
  echo $i is a number
done

终端输出:

1 is a number
2 is a number
3 is a number
4 is a number
5 is a number

脚本输出

{1..5} is a number
4

2 回答 2

1

添加 :

#!/bin/bash

您的默认 shell 可能是 sh,这是 sh 的另一个示例:

#!/bin/sh
max=5
for i in `seq 1 $max`
do
    echo "$i" is a number
done
于 2016-09-18T08:45:30.000 回答
0

嗯,这不是一个真正的答案,因为我无法说出确切的原因(不熟悉 bash,有时只是使用它),但不要使用 #!/bin/sh,使用 #!/bin/bash 表示 bash口译员代替。bash 和 sh 的语法存在一些差异。

#!/bin/bash
for i in {1..5}
do  
  echo $i is a number
done

得到以下输出:

1 is a number
2 is a number
3 is a number
4 is a number
5 is a number
于 2016-09-18T08:51:43.650 回答