Getting exit code from Curl input bash script












0















I want to take the output of simple.sh, a script from the internet and check its exit code.



#!/bin/bash
$(curl -s http://127.0.0.1:8000/simple.sh)
if [ -z "$?" ]; then
echo "Good"
exit 0
else
echo "Bad"
exit 1
fi


simple.sh:



#!/bin/bash
exit 0


The problem I am getting is:



./test.sh: line 2: #!/bin/bash: No such file or directory
Bad


Any help is much appreciated.
Thank you










share|improve this question























  • Try adding the full path to curl, i.e. the output from type curl. Probably a path issue.

    – datUser
    1 hour ago











  • try eval "$(curl ...)"

    – Jonas
    23 mins ago
















0















I want to take the output of simple.sh, a script from the internet and check its exit code.



#!/bin/bash
$(curl -s http://127.0.0.1:8000/simple.sh)
if [ -z "$?" ]; then
echo "Good"
exit 0
else
echo "Bad"
exit 1
fi


simple.sh:



#!/bin/bash
exit 0


The problem I am getting is:



./test.sh: line 2: #!/bin/bash: No such file or directory
Bad


Any help is much appreciated.
Thank you










share|improve this question























  • Try adding the full path to curl, i.e. the output from type curl. Probably a path issue.

    – datUser
    1 hour ago











  • try eval "$(curl ...)"

    – Jonas
    23 mins ago














0












0








0


1






I want to take the output of simple.sh, a script from the internet and check its exit code.



#!/bin/bash
$(curl -s http://127.0.0.1:8000/simple.sh)
if [ -z "$?" ]; then
echo "Good"
exit 0
else
echo "Bad"
exit 1
fi


simple.sh:



#!/bin/bash
exit 0


The problem I am getting is:



./test.sh: line 2: #!/bin/bash: No such file or directory
Bad


Any help is much appreciated.
Thank you










share|improve this question














I want to take the output of simple.sh, a script from the internet and check its exit code.



#!/bin/bash
$(curl -s http://127.0.0.1:8000/simple.sh)
if [ -z "$?" ]; then
echo "Good"
exit 0
else
echo "Bad"
exit 1
fi


simple.sh:



#!/bin/bash
exit 0


The problem I am getting is:



./test.sh: line 2: #!/bin/bash: No such file or directory
Bad


Any help is much appreciated.
Thank you







bash shell-script scripting curl






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 1 hour ago









RiceRice

16610




16610













  • Try adding the full path to curl, i.e. the output from type curl. Probably a path issue.

    – datUser
    1 hour ago











  • try eval "$(curl ...)"

    – Jonas
    23 mins ago



















  • Try adding the full path to curl, i.e. the output from type curl. Probably a path issue.

    – datUser
    1 hour ago











  • try eval "$(curl ...)"

    – Jonas
    23 mins ago

















Try adding the full path to curl, i.e. the output from type curl. Probably a path issue.

– datUser
1 hour ago





Try adding the full path to curl, i.e. the output from type curl. Probably a path issue.

– datUser
1 hour ago













try eval "$(curl ...)"

– Jonas
23 mins ago





try eval "$(curl ...)"

– Jonas
23 mins ago










1 Answer
1






active

oldest

votes


















0














Can't say it's elegant, but this is the way I would do it:
#!/bin/bash
curl -s http://127.0.0.1:8000/simple.sh | /bin/bash -s >/dev/null 2>&1
rc=$?
if [ -z "$rc" ]
then
echo "Good"
exit 0
else
echo "Bad"
exit 1
fi


Seems to me, the way you are doing it is similar to executing a here-file inside the $( ... ) construct. Never tried that, not sure bash works that way.



Letting curl echo the contents of the file and piping it to bash accounts for the text output of the curl command and allows bash to execute it.



I'll bet that, if you try this, you will get the same results:
$( cat /[path]/simple.sh ); echo $?





share























    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%2f505984%2fgetting-exit-code-from-curl-input-bash-script%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









    0














    Can't say it's elegant, but this is the way I would do it:
    #!/bin/bash
    curl -s http://127.0.0.1:8000/simple.sh | /bin/bash -s >/dev/null 2>&1
    rc=$?
    if [ -z "$rc" ]
    then
    echo "Good"
    exit 0
    else
    echo "Bad"
    exit 1
    fi


    Seems to me, the way you are doing it is similar to executing a here-file inside the $( ... ) construct. Never tried that, not sure bash works that way.



    Letting curl echo the contents of the file and piping it to bash accounts for the text output of the curl command and allows bash to execute it.



    I'll bet that, if you try this, you will get the same results:
    $( cat /[path]/simple.sh ); echo $?





    share




























      0














      Can't say it's elegant, but this is the way I would do it:
      #!/bin/bash
      curl -s http://127.0.0.1:8000/simple.sh | /bin/bash -s >/dev/null 2>&1
      rc=$?
      if [ -z "$rc" ]
      then
      echo "Good"
      exit 0
      else
      echo "Bad"
      exit 1
      fi


      Seems to me, the way you are doing it is similar to executing a here-file inside the $( ... ) construct. Never tried that, not sure bash works that way.



      Letting curl echo the contents of the file and piping it to bash accounts for the text output of the curl command and allows bash to execute it.



      I'll bet that, if you try this, you will get the same results:
      $( cat /[path]/simple.sh ); echo $?





      share


























        0












        0








        0







        Can't say it's elegant, but this is the way I would do it:
        #!/bin/bash
        curl -s http://127.0.0.1:8000/simple.sh | /bin/bash -s >/dev/null 2>&1
        rc=$?
        if [ -z "$rc" ]
        then
        echo "Good"
        exit 0
        else
        echo "Bad"
        exit 1
        fi


        Seems to me, the way you are doing it is similar to executing a here-file inside the $( ... ) construct. Never tried that, not sure bash works that way.



        Letting curl echo the contents of the file and piping it to bash accounts for the text output of the curl command and allows bash to execute it.



        I'll bet that, if you try this, you will get the same results:
        $( cat /[path]/simple.sh ); echo $?





        share













        Can't say it's elegant, but this is the way I would do it:
        #!/bin/bash
        curl -s http://127.0.0.1:8000/simple.sh | /bin/bash -s >/dev/null 2>&1
        rc=$?
        if [ -z "$rc" ]
        then
        echo "Good"
        exit 0
        else
        echo "Bad"
        exit 1
        fi


        Seems to me, the way you are doing it is similar to executing a here-file inside the $( ... ) construct. Never tried that, not sure bash works that way.



        Letting curl echo the contents of the file and piping it to bash accounts for the text output of the curl command and allows bash to execute it.



        I'll bet that, if you try this, you will get the same results:
        $( cat /[path]/simple.sh ); echo $?






        share











        share


        share










        answered 8 mins ago









        Scottie HScottie H

        326




        326






























            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%2f505984%2fgetting-exit-code-from-curl-input-bash-script%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