我试过了

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

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



怎么了
它不是应该从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片段),因此我将尝试沿着这条路线走。

10-07 18:56
查看更多