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