bash 循环 : for loop in older bash versions

标签 bash

我有一个旧版本的 bash:3.2.25 我正在尝试编写一个 for 循环:

#!/bin/bash
filename="K"

for k in {2..20..2}
do
  filename=$filename$k
done

这应该给我:

K2
K4
.
.
K20

但这就是它给我的:

K{2..20..2}
K{2..20..2}
.
.
K{2..20..2}

是因为它是旧版本的 bash 吗?我怎样才能让它工作?列出所有值不是解决方案,因为我将不得不使用 {5..201}。

最佳答案

我相信这是在 bash 4 中添加的。

你可以这样做:

for (( k=5; k<=201; k+=2 )); do
    filename=$filename$k
done

关于bash 循环 : for loop in older bash versions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17841796/

相关文章:

linux - 合并多个文件,保留 unix 中的原始序列

bash - RSync 仅当文件系统被挂载时

linux - Bash/Linux if elif else 问题

c - 终端C程序输入文件

linux - Rsync备份无法在备份服务器上创建目录

bash - 文件描述符权限被 bash 进程替换拒绝?

linux - react native :找不到命令

bash - 当标准输入来自 `cat` bash 时读取完整的标准输入直到 EOF

bash - 访问运行脚本的 docker 容器外部的 bash 脚本变量

bash - 如何grep粗体文本