【问题标题】:using "for" command in hp unix在 hp unix 中使用“for”命令
【发布时间】:2014-11-16 04:27:46
【问题描述】:

下面的 for 在 hp-ux 中不起作用。但是,它适用于 redhat 机器。请告诉我这里有什么不正确的地方吗?

#/bin/ksh
Rowcount=`wc -l $acList | awk -F " " '{print $1}'`

for ((i=1; i<=Rowcount; i++)); do
.
.
.

我得到的错误是:

 syntax error at line 4 : `(' unexpected

【问题讨论】:

  • @fedorqui 还是同样的错误 `(' 意外
  • 我认为i&lt;=Rowcounti&lt;=$Rowcount 都可以。我看到的是你可以直接做Rowcount=$(wc -l &lt; $acList)。使用&lt; file 可以避免多余的空间。

标签: bash shell unix ksh hp-ux


【解决方案1】:

你可以使用while循环:

i=1
while (( i <= Rowcount ))
do
   # Your code
   (( i+= 1 ))
done

【讨论】:

    【解决方案2】:

    你也可以试试这个语法:

    #!/bin/ksh
    for f in $(wc -l $acList | awk -F " " '{print $1}')
    do
            print "blabla : $f"
    done
    

    【讨论】:

    • 在我的情况下,Rowcount 值为 3,我已经尝试过您的命令,但它只打印一次。我希望为 'Rowcount' 次数(此处为 3)完成一组操作。
    • @user215827 我明白了(但不明白),我现在无法测试,抱歉
    猜你喜欢
    • 1970-01-01
    • 2015-04-07
    • 2014-03-29
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 2012-07-03
    相关资源
    最近更新 更多