Bash: loop over all lines of a file (the right way)
I have to admit that I’m a candidate for the Useless use of cat award sometimes.
I tend to use something like
1
for line in $(cat file); do echo $line; done;
. Yes, shame on me, but I promise improvement.
So the better way to to this at least in bash scripting is:
1
2
3
while read line; do
echo $line
done < file
For zsh there are further alternatives…