使用大括号从Bash for循环中意外输出

时间:2016-09-19 03:44:01

标签: linux bash

我期望以下循环打印数字:

#!/bin/bash
# Basic range in for loop
for value in {1..5}
do
    echo $value
done

但我在一行中得到以下输出: {1..5}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

{1..5}不一定会像你期望的那样在每种情况下都能正常工作。更好的方法(至少在我看来)是使用seq

for value in $(seq 1 5)
do
    echo $value
done

seq是一个简单的程序,基本上包含在每个Unix中,它生成由两个参数决定的数字序列。