I found some code for reading input from a file a while ago, I believe from Stack Exchange, that I was able to adapt for my needs:
while read -r line || [[ -n "$line" ]]; do
if [[ $line != "" ]]
then
((x++));
echo "$x: $line"
<then do something with $line>
fi
done < "$1"
I'm reviewing my script now & trying to understand what it's doing ... I don't understand what this statement is doing:
while read -r line || [[ -n "$line" ]];
I understand that the -r option says that we're reading raw text into line, but I'm confused about the || [[ -n "$line" ]]
portion of the statement. Can someone please explain what that is doing?