2014-09-22 4 views
1

Ниже для hp-ux не работает. Однако он работает на машине redhat. пожалуйста, сообщите мне, что здесь неправильно.с использованием команды «для» в hp unix

#/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 по-прежнему та же ошибка '('неожиданный –

+0

Я вижу это отлично, либо 'i <= Rowcount', либо' i <= $ Rowcount'. Я вижу, что вы можете напрямую выполнить команду «Rowcount = $ (wc -l <$ acList)». Использование '<файла' позволяет избежать лишнего пространства. – fedorqui

ответ

0

Вы можете использовать время цикла:

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). –

+0

@ user215827 Я вижу (но не понимаю), и я не могу проверить его сейчас, извините –

Смежные вопросы