我试过了
#!/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
片段),因此我将尝试沿着这条路线走。