系统相关
首页 > 系统相关> > Linux-for循环范围不起作用ksh

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

标签:shell,unix,ksh,linux
来源: https://codeday.me/bug/20191106/1999524.html