2016-07-24 122 views
0

變量$ adsQ是sql的輸出。該變量具有矩陣格式的行數。當我將這個變量用管道傳遞給while循環時,它工作正常,但是我放棄了while循環所需的變量。從其他論壇上建議,我修改與以下Bash - while循環變量在循環外部不可見

  varout='' 
      while IFS= read -r adrow; 
      do 
        <... do something....> 
        varout="$varout $adrow" 
      done < <(printf '%s\n' $adsQ) 
      echo "output of while $varout" 
      echo "AFTER adsVal >> $adsVal" 
當我運行這個

,我得到錯誤提示

test.sh:行72:附近意外的標記<' test.sh: line 72:語法錯誤進行< <(printf的「% s \ n'$ adsQ)'

+3

您正在運行帶有不支持進程替換的shell的腳本,而不是'bash'。 – chepner

+0

你在用什麼外殼? – sjsam

回答

0

您的命令中有一個無關的<。你寫了

done < <(...) 

刪除第一個<