bash 中的 for 循环出现错误

bash 中的 for 循环出现错误

我的系统中有一个 bash 版本 2.05.8,这个版本相当旧。现在我尝试在这台机器上使用以下格式的 for 循环

 for i in {a..z}

但这给出了,请提出正确的陈述

答案1

我不知道 seq 的哪个版本可以处理字母。您有可用的 perl 吗?如果是的话:

for i in `perl -e "$,=' '; print a..z"`; do echo $i; done

$,=' '在这里得到了模糊的部分:https://stackoverflow.com/questions/1445452/shell-script-for-loop-syntax

当然,我假设您需要生成字母表的动态切片,否则这可能不值得付出努力,您应该坚持:

for i in a b c d e f g h i j k l m n o p q r s t u v w x y z; do echo $i; done

答案2

范围仅适用于 bash 3.0+

但是你的语法是正确的:

#!/bin/bash
for i in {1..5}
do
    echo "$i) Bash version ${BASH_VERSION}"
done

答案3

尝试一下这个:for i in $(seq 1 5)

相关内容