2012-04-04 5 views
-1

初めて選択するとオプションが表示され、うまくいきますが、画面から離れたときにこのメニューに入る機能があります(前回の選択)が表示されますが、オプションは表示されませんどうすればこれを処理できますか?print各行のawkでの索引

PS3="Please make a selection => " ; export PS3 
    select var in `awk -F "#" '{print $4}' ${Temp_Config_File} | uniq` PREVIOUS 
    do 
    echo "\n`date +"%d%m%Y%H%M%S"` Daemon $var selected " >> $Log_File 
    if [ -z $var ] ; then echo "\n\tPlease enter a valid choice \n " ; continue 
    else 
     if [ $var = "PREVIOUS" ]; then 
      #removeFiles 
      break 
     fi 
      screenTwo $var 

    fi 
    done 

First Option : Please give me your idea.

Second option : Capture the return of screenTwo and whenever it is break use awk to print the index with $4. (like below , but I dont like it)

if [ $breakStat -eq 99 ]; then 
    i=1 
    echo "\n\nPlease choose one of the following deamon you wish to Start/Stop\n\n" 
    awk -F "#" '{print $4}' Temp_OPDaemon_Config.cfg | uniq | while read line 
    do 
    echo "${i}) ${line}" 
    let i=i+1 
    done 
    echo "${i}) PREVIOUS" 
fi 

おかげ

+0

出力に行番号を追加する場合は、出力をnl: 'awk ... |ユニーク| nl ' –

+0

これは動作していますが、前の表示にはsmthingを追加する必要があります。 – Kimi

+0

awk -F "#" '{print $ 4}' $ {Temp_Config_File} |ユニーク| awk -F "#" '{print NR "}" $ 0} END {print NR + 1 "}前の"}' – Kimi

答えて

0

これは私がそれを処理するために何をしたかです。

PS3="Please make a selection => " ; export PS3 
select var in `awk -F "#" '{print $4}' ${Temp_Config_File} | uniq` PREVIOUS 
do 
echo "${Date_Time} Daemon $var selected \n" >> $Log_File 
if [ -z $var ] ; then echo "\n\tPlease enter a valid choice \n " ; continue 
else 
    if [ $var = "PREVIOUS" ]; then 
     #removeFiles 
     break 
    fi 
    while : 
    do 
     screenTwo $var 
     breakStat=$? 
     if [ $breakStat -eq 99 ]; then 
     break 
     elif [ $breakStat -eq 98 ]; then 
     continue 
     fi 
    done 

if [ $breakStat -eq 99 ]; then 
    echo "\n\nPlease choose one of the following deamon you wish to Start/Stop\n\n" 
    awk -F "#" '{print $4 }' ${Temp_Config_File} | uniq | awk -F "#" '{print NR ") " $0} END {print NR+1") PREVIOUS"}' 
fi 


fi 
done 
関連する問題