linux - 使用大括号的 Bash for 循环出现意外输出

标签 linux bash

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

#!/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/

相关文章:

linux - 用于 BASH 着色和 inputrc 的神秘语法

linux - 使用 BASH 脚本检查 txt 文件中的预测值

bash - 在 BASH 中以 N 进程批处理并行运行

c - 从 stdin 向 fgets 发送任意字节

bash - --ntasks 或 -n 任务在 SLURM 中有什么作用?

linux - Cytoscape 和 Linux

linux - 如何将命令的一部分存储到变量中

Bash 输入变量和循环

python - 执行任务并在任务完成后关闭的 Shell 脚本

linux - 如何检查 Linux 控制台屏幕保护程序是否有黑屏