【发布时间】:2023-03-25 08:12:01
【问题描述】:
我需要在 shellscript 中按字母顺序从 c 迭代到 k,下面的尝试失败了,我该如何正确操作?
for((i='c';i【问题讨论】:
我需要在 shellscript 中按字母顺序从 c 迭代到 k,下面的尝试失败了,我该如何正确操作?
for((i='c';i【问题讨论】:
这至少可以在 bash 中使用:
for i in {c..k}
【讨论】:
sh 不是一个具体的东西,而是一组相关的东西。
这个在我的 shell (Bash 3.0+) 中工作:
for c in {c..k}
do
echo $c
done
【讨论】:
鉴于您不是专门要求 bashism,这里有一些没有它们的替代方案。
简单:
for c in c d e f g h i j k; do
echo $c
done
避免列出所有字符的需要:
s=$(printf %d "'c")
e=$(printf %d "'k")
i=$s
while [ $i -le $e ]; do
c=$(printf \\$(printf %o $i))
echo $c
i=$((i+1))
done
【讨论】: