Weisen Sie einer Variablen in einer Schleife einen Wert zu

Hier sind 2 Code-Teile und der Wert in$1 ist der Name einer Datei, die 3 Textzeilen enthält.

Jetzt habe ich ein Problem. Im ersten Teil des Codes kann ich den "richtigen" Wert nicht aus der Schleife herausholen, aber im zweiten Teil des Codes kann ich das richtige Ergebnis erzielen. Ich weiß nicht warum.

Wie kann ich den ersten Teil des Codes zum richtigen Ergebnis bringen?

#!/bin/bash

count=0
cat "$1" | while read line
do
    count=$[ $count + 1 ]
done
echo "$count line(s) in all."

#-----------------------------------------

count2=0
for var in a b c
do
    count2=$[ $count2 + 1 ]
done
echo "$count2 line(s) in all."

Antworten auf die Frage(1)

Ihre Antwort auf die Frage