Bash difference or preferred negation statementbash if statement behaviour questionPreferred way to install bash functions?Is there any major difference when comparing a variable as a string or as an intBash if statement [: missing `]' errorscript for automount, using if statement. cannot got the resultWhy is my elif being treated as an else statement in my bash script?Usage of -n and -z in test built in - Bashbash if statement different behaviourWTH - command not found - if statement - bash scriptDifference between piping and command expansion

Does the growth of home value benefit from compound interest?

How do I calculate APR from monthly instalments?

How is it possible that Gollum speaks Westron?

How to generate random points without duplication?

Through what methods and mechanisms can a multi-material FDM printer operate?

Secure offsite backup, even in the case of hacker root access

Fair use: Instructor sharing notes from textbooks

Reading two lines in piano

How to make a setting relevant?

Implement Homestuck's Catenative Doomsday Dice Cascader

Word for a small burst of laughter that can't be held back

Will TSA allow me to carry a Continuous Positive Airway Pressure (CPAP)/sleep apnea device?

Ancestor born in Bristol City workhouse?

Traffic law UK, pedestrians

What is the traditional way of earning a doctorate in Germany?

How were concentration and extermination camp guards recruited?

Is it a problem that pull requests are approved without any comments

What happens if you do emergency landing on a US base in middle of the ocean?

Can a 2nd-level sorcerer use sorcery points to create a 2nd-level spell slot?

How bad would a partial hash leak be, realistically?

C SIGINT signal in Linux

Importance sampling estimation of power function

Incremental Ranges!

My coworkers think I had a long honeymoon. Actually I was diagnosed with cancer. How do I talk about it?



Bash difference or preferred negation statement


bash if statement behaviour questionPreferred way to install bash functions?Is there any major difference when comparing a variable as a string or as an intBash if statement [: missing `]' errorscript for automount, using if statement. cannot got the resultWhy is my elif being treated as an else statement in my bash script?Usage of -n and -z in test built in - Bashbash if statement different behaviourWTH - command not found - if statement - bash scriptDifference between piping and command expansion






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








2















Is there a difference in bash, or a preferred usage of negation of a statement?



if ! [[ -z "$var" ]]; then
do_something
fi


Versus



if [[ ! -z "$var" ]]; then
do_something
fi









share|improve this question






























    2















    Is there a difference in bash, or a preferred usage of negation of a statement?



    if ! [[ -z "$var" ]]; then
    do_something
    fi


    Versus



    if [[ ! -z "$var" ]]; then
    do_something
    fi









    share|improve this question


























      2












      2








      2








      Is there a difference in bash, or a preferred usage of negation of a statement?



      if ! [[ -z "$var" ]]; then
      do_something
      fi


      Versus



      if [[ ! -z "$var" ]]; then
      do_something
      fi









      share|improve this question
















      Is there a difference in bash, or a preferred usage of negation of a statement?



      if ! [[ -z "$var" ]]; then
      do_something
      fi


      Versus



      if [[ ! -z "$var" ]]; then
      do_something
      fi






      bash shell-script test






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 7 hours ago









      Rui F Ribeiro

      42.7k1688147




      42.7k1688147










      asked 8 hours ago









      guillermo chamorroguillermo chamorro

      1456




      1456




















          1 Answer
          1






          active

          oldest

          votes


















          3














          ! [[ expression ]]


          This will be true if the entire test returns false



          [[ ! expression ]]


          This will be true if the individual expression returns false.




          Since the test can be a compound expression this can be very different. For example:



          $ [[ ! 0 -eq 1 || 1 -eq 1 ]] && echo yes || echo no
          yes
          $ ! [[ 0 -eq 1 || 1 -eq 1 ]] && echo yes || echo no
          no


          Personally I prefer to use the negation inside the test construct where applicable but it's perfectly fine outside depending on your intent.






          share|improve this answer

























            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%2f522349%2fbash-difference-or-preferred-negation-statement%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









            3














            ! [[ expression ]]


            This will be true if the entire test returns false



            [[ ! expression ]]


            This will be true if the individual expression returns false.




            Since the test can be a compound expression this can be very different. For example:



            $ [[ ! 0 -eq 1 || 1 -eq 1 ]] && echo yes || echo no
            yes
            $ ! [[ 0 -eq 1 || 1 -eq 1 ]] && echo yes || echo no
            no


            Personally I prefer to use the negation inside the test construct where applicable but it's perfectly fine outside depending on your intent.






            share|improve this answer





























              3














              ! [[ expression ]]


              This will be true if the entire test returns false



              [[ ! expression ]]


              This will be true if the individual expression returns false.




              Since the test can be a compound expression this can be very different. For example:



              $ [[ ! 0 -eq 1 || 1 -eq 1 ]] && echo yes || echo no
              yes
              $ ! [[ 0 -eq 1 || 1 -eq 1 ]] && echo yes || echo no
              no


              Personally I prefer to use the negation inside the test construct where applicable but it's perfectly fine outside depending on your intent.






              share|improve this answer



























                3












                3








                3







                ! [[ expression ]]


                This will be true if the entire test returns false



                [[ ! expression ]]


                This will be true if the individual expression returns false.




                Since the test can be a compound expression this can be very different. For example:



                $ [[ ! 0 -eq 1 || 1 -eq 1 ]] && echo yes || echo no
                yes
                $ ! [[ 0 -eq 1 || 1 -eq 1 ]] && echo yes || echo no
                no


                Personally I prefer to use the negation inside the test construct where applicable but it's perfectly fine outside depending on your intent.






                share|improve this answer















                ! [[ expression ]]


                This will be true if the entire test returns false



                [[ ! expression ]]


                This will be true if the individual expression returns false.




                Since the test can be a compound expression this can be very different. For example:



                $ [[ ! 0 -eq 1 || 1 -eq 1 ]] && echo yes || echo no
                yes
                $ ! [[ 0 -eq 1 || 1 -eq 1 ]] && echo yes || echo no
                no


                Personally I prefer to use the negation inside the test construct where applicable but it's perfectly fine outside depending on your intent.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 8 hours ago

























                answered 8 hours ago









                Jesse_bJesse_b

                16k33978




                16k33978



























                    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%2f522349%2fbash-difference-or-preferred-negation-statement%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

                    Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

                    Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

                    François Viète Contents Biography Work and thought Bibliography See also Notes Further reading External links Navigation menup. 21Google Bookspp. 75–77Google BooksDe thou (from University of Saint Andrews)ArchivedGoogle BooksGoogle BooksGoogle BooksGoogle booksGoogle Bookscc-parthenay.frL'histoire universelle (fr)Universal History (en)ArchivedAdsabs.harvard.eduPagesperso-orange.frArchive.orgChikara Sasaki. Descartes' mathematical thought p.259Google BooksGoogle BooksGoogle Bookspp. 152 and onwardGoogle BooksGoogle BooksScribd.comGoogle Books1257-7979Google BooksGoogle BooksGoogle BooksGoogle BooksGoogle BooksGoogle BooksGallica.bnf.frGoogle BooksGoogle Books"François Viète"Francois Viète: Father of Modern Algebraic NotationThe Lawyer and the GamblerAbout TarporleySite de Jean-Paul GuichardL'algèbre nouvelle"About the Harmonicon"cb120511976(data)1188044800000 0001 0913 5903n82164680ola2013766880073431702w6vt1sb70287374827140948071409480