Unix - ksh test if multiple variables are 0












1















So basically I want to test if 3 variables are 0. If one of them is not it should report it. This is what I got:



        if [[ $result -ne 0 && $resultmax -ne 0 && $resultmin -ne 0 ]]
then
echo "There is something terribly wrong."
fi


It does not work. Any idea where I messed up?










share|improve this question





























    1















    So basically I want to test if 3 variables are 0. If one of them is not it should report it. This is what I got:



            if [[ $result -ne 0 && $resultmax -ne 0 && $resultmin -ne 0 ]]
    then
    echo "There is something terribly wrong."
    fi


    It does not work. Any idea where I messed up?










    share|improve this question



























      1












      1








      1








      So basically I want to test if 3 variables are 0. If one of them is not it should report it. This is what I got:



              if [[ $result -ne 0 && $resultmax -ne 0 && $resultmin -ne 0 ]]
      then
      echo "There is something terribly wrong."
      fi


      It does not work. Any idea where I messed up?










      share|improve this question
















      So basically I want to test if 3 variables are 0. If one of them is not it should report it. This is what I got:



              if [[ $result -ne 0 && $resultmax -ne 0 && $resultmin -ne 0 ]]
      then
      echo "There is something terribly wrong."
      fi


      It does not work. Any idea where I messed up?







      ksh test






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 2 hours ago









      Rui F Ribeiro

      39.6k1479132




      39.6k1479132










      asked Apr 15 '15 at 7:48









      ZottelchenZottelchen

      82




      82






















          3 Answers
          3






          active

          oldest

          votes


















          1














          If you want to test that one of these variables is not 0, then you need || operator. Not &&.



          $ if [[ 1 -ne 0 && 0 -ne 0 && 0 -ne 0 ]] ; then echo "There is something terribly wrong.";  fi

          $ if [[ 1 -ne 0 || 0 -ne 0 || 0 -ne 0 ]] ; then echo "There is something terribly wrong."; fi
          There is something terribly wrong.





          share|improve this answer































            0














            Now you are testing if all variables are not 0 to report error. Try:



            if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
            then
            echo "There is something terribly wrong."
            fi





            share|improve this answer































              0














              To test if any of the variables is not 0 use the or operator || (as already suggested):



              if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
              then
              echo "There is something terribly wrong."
              fi


              Though, if you're doing numerical computation and are using ksh (or bash, or zsh) you might prefer to use this syntax for clarity:



              if (( result != 0 || resultmax != 0 || resultmin != 0 ))
              then
              printf "%sn" "There is something terribly wrong."
              fi





              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%2f196335%2funix-ksh-test-if-multiple-variables-are-0%23new-answer', 'question_page');
                }
                );

                Post as a guest















                Required, but never shown

























                3 Answers
                3






                active

                oldest

                votes








                3 Answers
                3






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                1














                If you want to test that one of these variables is not 0, then you need || operator. Not &&.



                $ if [[ 1 -ne 0 && 0 -ne 0 && 0 -ne 0 ]] ; then echo "There is something terribly wrong.";  fi

                $ if [[ 1 -ne 0 || 0 -ne 0 || 0 -ne 0 ]] ; then echo "There is something terribly wrong."; fi
                There is something terribly wrong.





                share|improve this answer




























                  1














                  If you want to test that one of these variables is not 0, then you need || operator. Not &&.



                  $ if [[ 1 -ne 0 && 0 -ne 0 && 0 -ne 0 ]] ; then echo "There is something terribly wrong.";  fi

                  $ if [[ 1 -ne 0 || 0 -ne 0 || 0 -ne 0 ]] ; then echo "There is something terribly wrong."; fi
                  There is something terribly wrong.





                  share|improve this answer


























                    1












                    1








                    1







                    If you want to test that one of these variables is not 0, then you need || operator. Not &&.



                    $ if [[ 1 -ne 0 && 0 -ne 0 && 0 -ne 0 ]] ; then echo "There is something terribly wrong.";  fi

                    $ if [[ 1 -ne 0 || 0 -ne 0 || 0 -ne 0 ]] ; then echo "There is something terribly wrong."; fi
                    There is something terribly wrong.





                    share|improve this answer













                    If you want to test that one of these variables is not 0, then you need || operator. Not &&.



                    $ if [[ 1 -ne 0 && 0 -ne 0 && 0 -ne 0 ]] ; then echo "There is something terribly wrong.";  fi

                    $ if [[ 1 -ne 0 || 0 -ne 0 || 0 -ne 0 ]] ; then echo "There is something terribly wrong."; fi
                    There is something terribly wrong.






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Apr 15 '15 at 7:56









                    apaulapaul

                    2,4501813




                    2,4501813

























                        0














                        Now you are testing if all variables are not 0 to report error. Try:



                        if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
                        then
                        echo "There is something terribly wrong."
                        fi





                        share|improve this answer




























                          0














                          Now you are testing if all variables are not 0 to report error. Try:



                          if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
                          then
                          echo "There is something terribly wrong."
                          fi





                          share|improve this answer


























                            0












                            0








                            0







                            Now you are testing if all variables are not 0 to report error. Try:



                            if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
                            then
                            echo "There is something terribly wrong."
                            fi





                            share|improve this answer













                            Now you are testing if all variables are not 0 to report error. Try:



                            if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
                            then
                            echo "There is something terribly wrong."
                            fi






                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Apr 15 '15 at 7:57









                            taliezintaliezin

                            6,82011527




                            6,82011527























                                0














                                To test if any of the variables is not 0 use the or operator || (as already suggested):



                                if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
                                then
                                echo "There is something terribly wrong."
                                fi


                                Though, if you're doing numerical computation and are using ksh (or bash, or zsh) you might prefer to use this syntax for clarity:



                                if (( result != 0 || resultmax != 0 || resultmin != 0 ))
                                then
                                printf "%sn" "There is something terribly wrong."
                                fi





                                share|improve this answer






























                                  0














                                  To test if any of the variables is not 0 use the or operator || (as already suggested):



                                  if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
                                  then
                                  echo "There is something terribly wrong."
                                  fi


                                  Though, if you're doing numerical computation and are using ksh (or bash, or zsh) you might prefer to use this syntax for clarity:



                                  if (( result != 0 || resultmax != 0 || resultmin != 0 ))
                                  then
                                  printf "%sn" "There is something terribly wrong."
                                  fi





                                  share|improve this answer




























                                    0












                                    0








                                    0







                                    To test if any of the variables is not 0 use the or operator || (as already suggested):



                                    if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
                                    then
                                    echo "There is something terribly wrong."
                                    fi


                                    Though, if you're doing numerical computation and are using ksh (or bash, or zsh) you might prefer to use this syntax for clarity:



                                    if (( result != 0 || resultmax != 0 || resultmin != 0 ))
                                    then
                                    printf "%sn" "There is something terribly wrong."
                                    fi





                                    share|improve this answer















                                    To test if any of the variables is not 0 use the or operator || (as already suggested):



                                    if [[ $result -ne 0 || $resultmax -ne 0 || $resultmin -ne 0 ]]
                                    then
                                    echo "There is something terribly wrong."
                                    fi


                                    Though, if you're doing numerical computation and are using ksh (or bash, or zsh) you might prefer to use this syntax for clarity:



                                    if (( result != 0 || resultmax != 0 || resultmin != 0 ))
                                    then
                                    printf "%sn" "There is something terribly wrong."
                                    fi






                                    share|improve this answer














                                    share|improve this answer



                                    share|improve this answer








                                    edited Apr 15 '15 at 8:30

























                                    answered Apr 15 '15 at 8:12









                                    JanisJanis

                                    10.1k21437




                                    10.1k21437






























                                        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%2f196335%2funix-ksh-test-if-multiple-variables-are-0%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

                                        Loup dans la culture

                                        How to solve the problem of ntp “Unable to contact time server” from KDE?

                                        ASUS Zenbook UX433/UX333 — Configure Touchpad-embedded numpad on Linux