2013-10-10 4 views
0

у меня есть результат для запроса:Unix сценарий оболочки для значения процесса, хранящегося в переменной

SELECT leg_store_wh_code || ',' || rms_location col1 from SKS_CNV_LOCATION_XREF as 

101,101 1,601 202,602 3,603 4,604 207,607 8,608 9,609 10,610 212,612 613,613 14,614 16,616 17,617 18,618 619,619 20,620 21,621 23,623 24,624 85,625 26,626 28,628 29,629 30,630 31,631 32,632 90,633 34,634 635,635 36,636(store_list_result holds this) 

Я хочу, чтобы использовать все значения внутри цикла. Но только первое значение printing.its будет следующий values.Can кто поможет мне

store_list="SELECT leg_store_wh_code || ',' || rms_location col1 from SKS_CNV_LOCATION_XREF ;" 
store_list_result=`sqlplus -s $UP <<EOF 

    SET FEEDBACK OFF 
    SET HEAD OFF 
    SET AUTOPRINT OFF 
    SET LINESIZE 1000 
    SET TAB OFF 
    SET ECHO OFF 
    SET PAGESIZE 0 
    SET TERMOUT OFF 
    SET TRIMSPOOL ON 

    ${store_list}   
exit 
     EOF` 
     for i in store_list_result 
     do 
     LEG_ID=`echo $store_list_result | cut -d',' -f1` 
     echo $LEG_ID 
     RMS_ID=`echo $store_list_result | cut -d',' -f2 | cut -d' ' -f1` 
     echo $RMS_ID 

результат я получил это:

101 
101 

ответ

1
for i in store_list_result do LEG_ID=`echo $store_list_result | cut -d',' -f1` 

Как это когда-нибудь должно работать? Вы повторяете один раз ($ i = "store_list_result", а не значение этой переменной), то вы каждый раз используете $ store_list_result (еще один раз, но это все равно). И правильно отформатируйте свой код, и грубые знаки становятся съеденными.

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