Ich lerne Bash, kann diesen Beispielcode jedoch nicht verstehen:

while IFS= read -r line2; 
    do
        if [[ "$line1" == "$line2" ]]
        then
            (( i++ ))
        fi
    done <<< "$lines"

Insbesondere die Zeile done <<< "$lines" was bedeutet <<<?

Ich finde ein anderes Beispiel zum Beispiel:

while read line
  do
      echo "Word count per line: $line"
  done < <(cat list.txt | wc -w)

In diesem Fall, weil < < und nicht <<< verwendet wird

2
gino gino 28 Dez. 2015 im 16:56

1 Antwort

<<< gibt hier eine Zeichenfolge an.

In Ihrem Fall wird der Inhalt von $lines an die Standardeingabe der while -Schleife gesendet.


<(...) ist eine Art Prozessersetzung .

In Ihrem Fall wird die Ausgabe von cat list.txt | wc -w an die Standardeingabe der while -Schleife gesendet.

Die Prozessersetzung ist sehr nützlich, wenn ein Programm einen Dateinamen als Argument erwartet.

5
Andrea Corbellini 28 Dez. 2015 im 14:33