我的系统中有一个 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)