Bash während Loop mit gemischten Bedingungen

  • Ich meine nicht mehrere Bedingungen, gut, das ist aber auch gemischt:

     while [[ read line ] && [ "$GoodURL" == "false" ]]
     

    Was ist die richtige Form dafür? Es ist eine while-Schleife, die zeilenweise in einer Textdatei ausgeführt wird, . Ich möchte sie mit diesem booleschen Typ $GoodURL stoppen, bitte helfen. Danke.

    22 November 2011
    bacchus
1 answer
  •  while read line && [[ "$GoodURL" == "false" ]]
    do 
        echo $line; 
    done
     

    Wenn Sie aus einer Datei / Pipe lesen möchten, verwenden Sie unbedingt die Dereferenzierung. Andernfalls erhalten Sie komische Ergebnisse (aufgrund der while-Schleife wird in einer Subshell ausgeführt und verwendet nicht tatsächlich dieselbe Umgebung wie die umgebende Shell)

     while read line && [[ "$GoodURL" == "false" ]]
    do 
        echo $line; 
    done < input.txt
     
    22 November 2011
    sehecw.prime