Explanation for what a while read statement is doing

Clash Royale CLAN TAG#URR8PPP
up vote
0
down vote
favorite
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?
read
New contributor
K. Hilbert is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |Â
up vote
0
down vote
favorite
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?
read
New contributor
K. Hilbert is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |Â
up vote
0
down vote
favorite
up vote
0
down vote
favorite
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?
read
New contributor
K. Hilbert is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
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?
read
read
New contributor
K. Hilbert is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
K. Hilbert is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
K. Hilbert is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked 19 mins ago
K. Hilbert
11
11
New contributor
K. Hilbert is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
K. Hilbert is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
K. Hilbert is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |Â
add a comment |Â
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
K. Hilbert is a new contributor. Be nice, and check out our Code of Conduct.
K. Hilbert is a new contributor. Be nice, and check out our Code of Conduct.
K. Hilbert is a new contributor. Be nice, and check out our Code of Conduct.
K. Hilbert is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f478720%2fexplanation-for-what-a-while-read-statement-is-doing%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password