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"
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 ... II don't understand what this statement is doing:
while read -r line || [[ -n "$line" ]];
while read -r line || [[ -n "$line" ]];
I understand that the -r-r option says that we're reading raw text into line$line, but I'm confused about the || [[ -n "$line" ]] portion of the statement. CanCan someone please explain what that is doing?