Linux-for循环范围不起作用ksh

我试过了

#!/bin/ksh
for i in {1..10}
do
  echo "Welcome $i times"
done

在AIX框的Ksh中.
我得到的输出是,

Welcome {1..10} times

怎么了
它不是应该从1到10打印吗?
编辑:
根据perkolator的帖子,从Iterating through a range of ints in ksh?开始

它仅适用于linux. unix box ksh是否有其他解决方法/替代方法?

for i in 1 2 3 4 5 6 7 8 9 10

很难看

谢谢.

解决方法:

从内存来看,我认为AIX上的标准ksh是较旧的版本.它可能不支持有范围的for循环.尝试使用ksh93而不是ksh运行它.它应该与ksh在同一位置,可能是/usr/bin.

否则,只需使用一些老式的方法:

i=1
while [[ $i -le 10 ]] ; do
    echo "Welcome $i times"
    i=$(expr $i + 1)
done

实际上,浏览publib似乎可以确认这一点(ksh93代码段),因此我将尝试沿着这条路线走.

上一篇:LeetCode题解之Maximum Depth of N-ary Tree


下一篇:ksh与bash的异同