【问题标题】:ksh scripting, For loopksh 脚本,For 循环
【发布时间】:2012-04-16 04:13:01
【问题描述】:
#!/bin/ksh
#########################     
for i in {1..30} ;do
  echo $i
done

输出是:

{1..30}  

我的代码有什么问题?

【问题讨论】:

标签: ksh


【解决方案1】:

{1..30} 属于bash。

使用这个:

for((i=1;i<=30;i++)); do
    echo $i
done

【讨论】:

  • +1。我没想到 Korn Shell 支持算术 for 循环,但 apparently it does!
  • for(()) 自 Ksh93 起支持。
  • 可惜 mksh 不支持它
【解决方案2】:

或者,您可以切换到 while 构造:

i=1
while (( i <= 30 ))
do
   echo $i
   (( i+=1 ))
done

【讨论】:

    【解决方案3】:
     for {set x 0} {$x<10} {incr x} {
                 puts "x is $x"
               }
    

    【讨论】:

    • 你能补充一些解释吗?
    猜你喜欢
    • 2018-07-17
    • 1970-01-01
    • 2019-02-09
    • 2015-06-16
    • 2011-03-01
    • 1970-01-01
    • 2022-05-17
    • 2012-06-18
    • 1970-01-01
    相关资源
    最近更新 更多