我期望以下循环打印数字:
#!/bin/bash
# Basic range in for loop
for value in {1..5}
do
echo $value
done
但我在一行中得到以下输出: {1..5}
我做错了什么?
最佳答案
{1..5}
不一定在所有情况下都能像您期望的那样工作。更好的方法(至少在我看来)是使用 seq
:
for value in $(seq 1 5)
do
echo $value
done
seq
是一个简单的程序,基本上每个 Unix 中都包含它,它生成由其两个参数指定的数字序列。
关于linux - 使用大括号的 Bash for 循环出现意外输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39565033/