2014-09-22 92 views
1

以下代码在hp-ux中不起作用。但是,它适用于Redhat机器。请让我知道这里有什么不对?在hp unix中使用“for”命令

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

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

错误我得到的是:

syntax error at line 4 : `(' unexpected 
+0

@fedorqui还是一样的错误'('意想不到的 – 2014-09-22 09:08:50

+0

我看到它很好,要么'我<= Rowcount'或'我<= $ Rowcount'。我看到的是你可以直接做'Rowcount = $(wc -l <​​$ acList)'。使用' fedorqui 2014-09-22 09:25:59

回答

0

您可以使用while循环:

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

你也可以试试这个语法:

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

在我的情况Rowcount值是3,我已经尝试过你的命令,但它只打印一次。我想要一组操作来完成'Rowcount'的次数(这里是3)。 – 2014-09-22 09:14:12

+0

@ user215827我看到了(但不明白),现在我无法测试它,对不起 – 2014-09-22 09:18:12