What is the logic behind how bash tests for true/false?What is the difference between : and true?What is the builtin `:` used for in Bash?bash script trap for exit and err and logic for differenceWhat is the rationale behind $array not expanding the whole array in ksh and bash?extract columns from TRUE/FALSE matrix based on proportion of TRUE values within the columnExpression evaluates to false in for loop whereas it's true in ifWhy does `source foo && true` exit the script in bash?for loop logic porting from bash to cshBash: how can I run `sudo -n true` in the background without interfering with `read`?What's the purpose of “true” in bash “if sudo true; then”

How can I fix this gap between bookcases I made?

Why are only specific transaction types accepted into the mempool?

Are tax years 2016 & 2017 back taxes deductible for tax year 2018?

How is it possible for user's password to be changed after storage was encrypted? (on OS X, Android)

GPS Rollover on Android Smartphones

How is the claim "I am in New York only if I am in America" the same as "If I am in New York, then I am in America?

Do Phineas and Ferb ever actually get busted in real time?

How long does it take to type this?

Possibly bubble sort algorithm

Should I join office cleaning event for free?

Validation accuracy vs Testing accuracy

Why is an old chain unsafe?

Why Is Death Allowed In the Matrix?

When blogging recipes, how can I support both readers who want the narrative/journey and ones who want the printer-friendly recipe?

How is this relation reflexive?

What is the command to reset a PC without deleting any files

Why don't electromagnetic waves interact with each other?

The use of multiple foreign keys on same column in SQL Server

Can I interfere when another PC is about to be attacked?

Is there really no realistic way for a skeleton monster to move around without magic?

Why has Russell's definition of numbers using equivalence classes been finally abandoned? ( If it has actually been abandoned).

"You are your self first supporter", a more proper way to say it

What do you call something that goes against the spirit of the law, but is legal when interpreting the law to the letter?

Can an x86 CPU running in real mode be considered to be basically an 8086 CPU?



What is the logic behind how bash tests for true/false?


What is the difference between : and true?What is the builtin `:` used for in Bash?bash script trap for exit and err and logic for differenceWhat is the rationale behind $array not expanding the whole array in ksh and bash?extract columns from TRUE/FALSE matrix based on proportion of TRUE values within the columnExpression evaluates to false in for loop whereas it's true in ifWhy does `source foo && true` exit the script in bash?for loop logic porting from bash to cshBash: how can I run `sudo -n true` in the background without interfering with `read`?What's the purpose of “true” in bash “if sudo true; then”






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















This:



echo $VAR



yields: something



And this:



[[ -z "$VAR" ]]
echo $?



yields: 1



Yet this:



if [[ -z "$TMUX_MAN_PANE" ]]; then
echo 'NEVER PRINTS!'



This screws with my head and I need some kind logical way to think about this before I go insane.



UPDATE



Here's some real code. I can't get this to fucking work for the life of me. Fuck bash. :)



tmux_man_page() 
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
tmux list-panes -t $TMUX_MAN_PANE &> /dev/null
echo $?
echo $TMUX_MAN_PANE
[[ -z "$TMUX_MAN_PANE" ]]
echo $?
if ! [[ -z "$TMUX_MAN_PANE" ]] && [[ $? ]]; then
echo luck
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
echo fuck
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#pane_id")
export TMUX_MAN_PANE
tmux select-pane -t last
fi
fi



UPDATE 2: Success



Finally figured it out. Was hvaing a hell of a time getting the status of the first line in the if statement. Had to do some trickery to get the output of the tmux statement in the first line of the if statement. If anyone knows a cleaner way to do this, I'm all ears.



Holy shit, I don't know how people program in Bash. Drives me nuts. Sorry for the foul language. I was apeshit. :) Here's the working code:



tmux_man_page() 
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
fucker=$(tmux list-panes -t $TMUX_MAN_PANE 2>&1)
if ! [[ -z "$TMUX_MAN_PANE" ]] && ! [[ $fucker =~ 'find pane' ]]; then
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#pane_id")
export TMUX_MAN_PANE
tmux select-pane -t last
fi
fi


tmux_man_page_close()
if [ $TMUX_MAN_PANE ]; then
tmux kill-pane -t $TMUX_MAN_PANE
fi










share|improve this question



















  • 1





    Your update does not include enough information. Please (a) include the values of TERM, TMUX, and TMUX_MAN_PANE from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.

    – John1024
    1 hour ago











  • It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.

    – StevieD
    1 hour ago












  • It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.

    – StevieD
    1 hour ago











  • I should just be going this in perl. Fuck this crazy shit.

    – StevieD
    1 hour ago











  • Jesus, finally figured it out. Posting solution.

    – StevieD
    59 mins ago


















1















This:



echo $VAR



yields: something



And this:



[[ -z "$VAR" ]]
echo $?



yields: 1



Yet this:



if [[ -z "$TMUX_MAN_PANE" ]]; then
echo 'NEVER PRINTS!'



This screws with my head and I need some kind logical way to think about this before I go insane.



UPDATE



Here's some real code. I can't get this to fucking work for the life of me. Fuck bash. :)



tmux_man_page() 
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
tmux list-panes -t $TMUX_MAN_PANE &> /dev/null
echo $?
echo $TMUX_MAN_PANE
[[ -z "$TMUX_MAN_PANE" ]]
echo $?
if ! [[ -z "$TMUX_MAN_PANE" ]] && [[ $? ]]; then
echo luck
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
echo fuck
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#pane_id")
export TMUX_MAN_PANE
tmux select-pane -t last
fi
fi



UPDATE 2: Success



Finally figured it out. Was hvaing a hell of a time getting the status of the first line in the if statement. Had to do some trickery to get the output of the tmux statement in the first line of the if statement. If anyone knows a cleaner way to do this, I'm all ears.



Holy shit, I don't know how people program in Bash. Drives me nuts. Sorry for the foul language. I was apeshit. :) Here's the working code:



tmux_man_page() 
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
fucker=$(tmux list-panes -t $TMUX_MAN_PANE 2>&1)
if ! [[ -z "$TMUX_MAN_PANE" ]] && ! [[ $fucker =~ 'find pane' ]]; then
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#pane_id")
export TMUX_MAN_PANE
tmux select-pane -t last
fi
fi


tmux_man_page_close()
if [ $TMUX_MAN_PANE ]; then
tmux kill-pane -t $TMUX_MAN_PANE
fi










share|improve this question



















  • 1





    Your update does not include enough information. Please (a) include the values of TERM, TMUX, and TMUX_MAN_PANE from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.

    – John1024
    1 hour ago











  • It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.

    – StevieD
    1 hour ago












  • It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.

    – StevieD
    1 hour ago











  • I should just be going this in perl. Fuck this crazy shit.

    – StevieD
    1 hour ago











  • Jesus, finally figured it out. Posting solution.

    – StevieD
    59 mins ago














1












1








1








This:



echo $VAR



yields: something



And this:



[[ -z "$VAR" ]]
echo $?



yields: 1



Yet this:



if [[ -z "$TMUX_MAN_PANE" ]]; then
echo 'NEVER PRINTS!'



This screws with my head and I need some kind logical way to think about this before I go insane.



UPDATE



Here's some real code. I can't get this to fucking work for the life of me. Fuck bash. :)



tmux_man_page() 
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
tmux list-panes -t $TMUX_MAN_PANE &> /dev/null
echo $?
echo $TMUX_MAN_PANE
[[ -z "$TMUX_MAN_PANE" ]]
echo $?
if ! [[ -z "$TMUX_MAN_PANE" ]] && [[ $? ]]; then
echo luck
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
echo fuck
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#pane_id")
export TMUX_MAN_PANE
tmux select-pane -t last
fi
fi



UPDATE 2: Success



Finally figured it out. Was hvaing a hell of a time getting the status of the first line in the if statement. Had to do some trickery to get the output of the tmux statement in the first line of the if statement. If anyone knows a cleaner way to do this, I'm all ears.



Holy shit, I don't know how people program in Bash. Drives me nuts. Sorry for the foul language. I was apeshit. :) Here's the working code:



tmux_man_page() 
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
fucker=$(tmux list-panes -t $TMUX_MAN_PANE 2>&1)
if ! [[ -z "$TMUX_MAN_PANE" ]] && ! [[ $fucker =~ 'find pane' ]]; then
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#pane_id")
export TMUX_MAN_PANE
tmux select-pane -t last
fi
fi


tmux_man_page_close()
if [ $TMUX_MAN_PANE ]; then
tmux kill-pane -t $TMUX_MAN_PANE
fi










share|improve this question
















This:



echo $VAR



yields: something



And this:



[[ -z "$VAR" ]]
echo $?



yields: 1



Yet this:



if [[ -z "$TMUX_MAN_PANE" ]]; then
echo 'NEVER PRINTS!'



This screws with my head and I need some kind logical way to think about this before I go insane.



UPDATE



Here's some real code. I can't get this to fucking work for the life of me. Fuck bash. :)



tmux_man_page() 
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
tmux list-panes -t $TMUX_MAN_PANE &> /dev/null
echo $?
echo $TMUX_MAN_PANE
[[ -z "$TMUX_MAN_PANE" ]]
echo $?
if ! [[ -z "$TMUX_MAN_PANE" ]] && [[ $? ]]; then
echo luck
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
echo fuck
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#pane_id")
export TMUX_MAN_PANE
tmux select-pane -t last
fi
fi



UPDATE 2: Success



Finally figured it out. Was hvaing a hell of a time getting the status of the first line in the if statement. Had to do some trickery to get the output of the tmux statement in the first line of the if statement. If anyone knows a cleaner way to do this, I'm all ears.



Holy shit, I don't know how people program in Bash. Drives me nuts. Sorry for the foul language. I was apeshit. :) Here's the working code:



tmux_man_page() 
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
fucker=$(tmux list-panes -t $TMUX_MAN_PANE 2>&1)
if ! [[ -z "$TMUX_MAN_PANE" ]] && ! [[ $fucker =~ 'find pane' ]]; then
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#pane_id")
export TMUX_MAN_PANE
tmux select-pane -t last
fi
fi


tmux_man_page_close()
if [ $TMUX_MAN_PANE ]; then
tmux kill-pane -t $TMUX_MAN_PANE
fi







bash






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 55 mins ago







StevieD

















asked 1 hour ago









StevieDStevieD

1679




1679







  • 1





    Your update does not include enough information. Please (a) include the values of TERM, TMUX, and TMUX_MAN_PANE from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.

    – John1024
    1 hour ago











  • It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.

    – StevieD
    1 hour ago












  • It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.

    – StevieD
    1 hour ago











  • I should just be going this in perl. Fuck this crazy shit.

    – StevieD
    1 hour ago











  • Jesus, finally figured it out. Posting solution.

    – StevieD
    59 mins ago













  • 1





    Your update does not include enough information. Please (a) include the values of TERM, TMUX, and TMUX_MAN_PANE from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.

    – John1024
    1 hour ago











  • It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.

    – StevieD
    1 hour ago












  • It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.

    – StevieD
    1 hour ago











  • I should just be going this in perl. Fuck this crazy shit.

    – StevieD
    1 hour ago











  • Jesus, finally figured it out. Posting solution.

    – StevieD
    59 mins ago








1




1





Your update does not include enough information. Please (a) include the values of TERM, TMUX, and TMUX_MAN_PANE from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.

– John1024
1 hour ago





Your update does not include enough information. Please (a) include the values of TERM, TMUX, and TMUX_MAN_PANE from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.

– John1024
1 hour ago













It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.

– StevieD
1 hour ago






It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.

– StevieD
1 hour ago














It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.

– StevieD
1 hour ago





It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.

– StevieD
1 hour ago













I should just be going this in perl. Fuck this crazy shit.

– StevieD
1 hour ago





I should just be going this in perl. Fuck this crazy shit.

– StevieD
1 hour ago













Jesus, finally figured it out. Posting solution.

– StevieD
59 mins ago






Jesus, finally figured it out. Posting solution.

– StevieD
59 mins ago











1 Answer
1






active

oldest

votes


















4














The key is that 0 means true and 1 (or any other non-zero value) means false.



In shell, a test that is true (or a program which completes successfully), exits with code 0. The test [[ -z "$VAR" ]] returns code zero (true) if $VAR is empty or one (false) if it is not empty:



$ var=""; [[ -z "$var" ]]; echo $?
0
$ var="NOT EMPTY"; [[ -z "$var" ]]; echo $?
1


In sum, if $VAR is non-empty, then [[ -z "$VAR" ]] is false (returns 1) and the then statement does not execute.



Did you intend for the test to return true if the variable was non-empty? If so, replace -z with -n:



$ var=""; [[ -n "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ -n "$var" ]]; echo $?
0


For brevity, the same test is performed if -n is omitted:



$ var=""; [[ "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ "$var" ]]; echo $?
0





share|improve this answer

























  • I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.

    – StevieD
    1 hour ago






  • 1





    @StevieD Run set -x and then run your code. This will show you how every step is evaluated.

    – John1024
    1 hour ago












  • Ah, shit. Forgot about that setting. I'll try it.

    – StevieD
    1 hour ago











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f511129%2fwhat-is-the-logic-behind-how-bash-tests-for-true-false%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









4














The key is that 0 means true and 1 (or any other non-zero value) means false.



In shell, a test that is true (or a program which completes successfully), exits with code 0. The test [[ -z "$VAR" ]] returns code zero (true) if $VAR is empty or one (false) if it is not empty:



$ var=""; [[ -z "$var" ]]; echo $?
0
$ var="NOT EMPTY"; [[ -z "$var" ]]; echo $?
1


In sum, if $VAR is non-empty, then [[ -z "$VAR" ]] is false (returns 1) and the then statement does not execute.



Did you intend for the test to return true if the variable was non-empty? If so, replace -z with -n:



$ var=""; [[ -n "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ -n "$var" ]]; echo $?
0


For brevity, the same test is performed if -n is omitted:



$ var=""; [[ "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ "$var" ]]; echo $?
0





share|improve this answer

























  • I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.

    – StevieD
    1 hour ago






  • 1





    @StevieD Run set -x and then run your code. This will show you how every step is evaluated.

    – John1024
    1 hour ago












  • Ah, shit. Forgot about that setting. I'll try it.

    – StevieD
    1 hour ago















4














The key is that 0 means true and 1 (or any other non-zero value) means false.



In shell, a test that is true (or a program which completes successfully), exits with code 0. The test [[ -z "$VAR" ]] returns code zero (true) if $VAR is empty or one (false) if it is not empty:



$ var=""; [[ -z "$var" ]]; echo $?
0
$ var="NOT EMPTY"; [[ -z "$var" ]]; echo $?
1


In sum, if $VAR is non-empty, then [[ -z "$VAR" ]] is false (returns 1) and the then statement does not execute.



Did you intend for the test to return true if the variable was non-empty? If so, replace -z with -n:



$ var=""; [[ -n "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ -n "$var" ]]; echo $?
0


For brevity, the same test is performed if -n is omitted:



$ var=""; [[ "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ "$var" ]]; echo $?
0





share|improve this answer

























  • I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.

    – StevieD
    1 hour ago






  • 1





    @StevieD Run set -x and then run your code. This will show you how every step is evaluated.

    – John1024
    1 hour ago












  • Ah, shit. Forgot about that setting. I'll try it.

    – StevieD
    1 hour ago













4












4








4







The key is that 0 means true and 1 (or any other non-zero value) means false.



In shell, a test that is true (or a program which completes successfully), exits with code 0. The test [[ -z "$VAR" ]] returns code zero (true) if $VAR is empty or one (false) if it is not empty:



$ var=""; [[ -z "$var" ]]; echo $?
0
$ var="NOT EMPTY"; [[ -z "$var" ]]; echo $?
1


In sum, if $VAR is non-empty, then [[ -z "$VAR" ]] is false (returns 1) and the then statement does not execute.



Did you intend for the test to return true if the variable was non-empty? If so, replace -z with -n:



$ var=""; [[ -n "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ -n "$var" ]]; echo $?
0


For brevity, the same test is performed if -n is omitted:



$ var=""; [[ "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ "$var" ]]; echo $?
0





share|improve this answer















The key is that 0 means true and 1 (or any other non-zero value) means false.



In shell, a test that is true (or a program which completes successfully), exits with code 0. The test [[ -z "$VAR" ]] returns code zero (true) if $VAR is empty or one (false) if it is not empty:



$ var=""; [[ -z "$var" ]]; echo $?
0
$ var="NOT EMPTY"; [[ -z "$var" ]]; echo $?
1


In sum, if $VAR is non-empty, then [[ -z "$VAR" ]] is false (returns 1) and the then statement does not execute.



Did you intend for the test to return true if the variable was non-empty? If so, replace -z with -n:



$ var=""; [[ -n "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ -n "$var" ]]; echo $?
0


For brevity, the same test is performed if -n is omitted:



$ var=""; [[ "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ "$var" ]]; echo $?
0






share|improve this answer














share|improve this answer



share|improve this answer








edited 1 hour ago

























answered 1 hour ago









John1024John1024

48.4k5113128




48.4k5113128












  • I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.

    – StevieD
    1 hour ago






  • 1





    @StevieD Run set -x and then run your code. This will show you how every step is evaluated.

    – John1024
    1 hour ago












  • Ah, shit. Forgot about that setting. I'll try it.

    – StevieD
    1 hour ago

















  • I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.

    – StevieD
    1 hour ago






  • 1





    @StevieD Run set -x and then run your code. This will show you how every step is evaluated.

    – John1024
    1 hour ago












  • Ah, shit. Forgot about that setting. I'll try it.

    – StevieD
    1 hour ago
















I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.

– StevieD
1 hour ago





I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.

– StevieD
1 hour ago




1




1





@StevieD Run set -x and then run your code. This will show you how every step is evaluated.

– John1024
1 hour ago






@StevieD Run set -x and then run your code. This will show you how every step is evaluated.

– John1024
1 hour ago














Ah, shit. Forgot about that setting. I'll try it.

– StevieD
1 hour ago





Ah, shit. Forgot about that setting. I'll try it.

– StevieD
1 hour ago

















draft saved

draft discarded
















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f511129%2fwhat-is-the-logic-behind-how-bash-tests-for-true-false%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Are there any AGPL-style licences that require source code modifications to be public? Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Force derivative works to be publicAre there any GPL like licenses for Apple App Store?Do you violate the GPL if you provide source code that cannot be compiled?GPL - is it distribution to use libraries in an appliance loaned to customers?Distributing App for free which uses GPL'ed codeModifications of server software under GPL, with web/CLI interfaceDoes using an AGPLv3-licensed library prevent me from dual-licensing my own source code?Can I publish only select code under GPLv3 from a private project?Is there published precedent regarding the scope of covered work that uses AGPL software?If MIT licensed code links to GPL licensed code what should be the license of the resulting binary program?If I use a public API endpoint that has its source code licensed under AGPL in my app, do I need to disclose my source?

2013 GY136 Descoberta | Órbita | Referências Menu de navegação«List Of Centaurs and Scattered-Disk Objects»«List of Known Trans-Neptunian Objects»

Mortes em março de 2019 Referências Menu de navegação«Zhores Alferov, Nobel de Física bielorrusso, morre aos 88 anos - Ciência»«Fallece Rafael Torija, o bispo emérito de Ciudad Real»«Peter Hurford dies at 88»«Keith Flint, vocalista do The Prodigy, morre aos 49 anos»«Luke Perry, ator de 'Barrados no baile' e 'Riverdale', morre aos 52 anos»«Former Rangers and Scotland captain Eric Caldow dies, aged 84»«Morreu, aos 61 anos, a antiga lenda do wrestling King Kong Bundy»«Fallece el actor y director teatral Abraham Stavans»«In Memoriam Guillaume Faye»«Sidney Sheinberg, a Force Behind Universal and Spielberg, Is Dead at 84»«Carmine Persico, Colombo Crime Family Boss, Is Dead at 85»«Dirigent Michael Gielen gestorben»«Ciclista tricampeã mundial e prata na Rio 2016 é encontrada morta em casa aos 23 anos»«Pagan Community Notes: Raven Grimassi dies, Indianapolis pop-up event cancelled, Circle Sanctuary announces new podcast, and more!»«Hal Blaine, Wrecking Crew Drummer, Dies at 90»«Morre Coutinho, que editou dupla lendária com Pelé no Santos»«Cantor Demétrius, ídolo da Jovem Guarda, morre em SP»«Ex-presidente do Vasco, Eurico Miranda morre no Rio de Janeiro»«Bronze no Mundial de basquete de 1971, Laís Elena morre aos 76 anos»«Diretor de Corridas da F1, Charlie Whiting morre aos 66 anos às vésperas do GP da Austrália»«Morreu o cardeal Danneels, da Bélgica»«Morreu o cartoonista Augusto Cid»«Morreu a atriz Maria Isabel de Lizandra, de "Vale Tudo" e novelas da Tupi»«WS Merwin, prize-winning poet of nature, dies at 91»«Atriz Márcia Real morre em São Paulo aos 88 anos»«Mauritanie: décès de l'ancien président Mohamed Mahmoud ould Louly»«Morreu Dick Dale, o rei da surf guitar e de "Pulp Fiction"»«Falleció Víctor Genes»«João Carlos Marinho, autor de 'O Gênio do Crime', morre em SP»«Legendary Horror Director and SFX Artist John Carl Buechler Dies at 66»«Morre em Salvador a religiosa Makota Valdina»«مرگ بازیکن‌ سابق نساجی بر اثر سقوط سنگ در مازندران»«Domingos Oliveira morre no Rio»«Morre Airton Ravagniani, ex-São Paulo, Fla, Vasco, Grêmio e Sport - Notícias»«Morre o escritor Flavio Moreira da Costa»«Larry Cohen, Writer-Director of 'It's Alive' and 'Hell Up in Harlem,' Dies at 77»«Scott Walker, experimental singer-songwriter, dead at 76»«Joseph Pilato, Day of the Dead Star and Horror Favorite, Dies at 70»«Sheffield United set to pay tribute to legendary goalkeeper Ted Burgin who has died at 91»«Morre Rafael Henzel, sobrevivente de acidente aéreo da Chapecoense»«Morre Valery Bykovsky, um dos primeiros cosmonautas da União Soviética»«Agnès Varda, cineasta da Nouvelle Vague, morre aos 90 anos»«Agnès Varda, cineasta francesa, morre aos 90 anos»«Tania Mallet, James Bond Actress and Helen Mirren's Cousin, Dies at 77»e