Getting Variable from sqlplus












0














I am trying to get a value from sqlplus like below. However, it does not echo what I want. Here is my script:



#!/bin/ksh
OLDEST_PARTITION='sqlplus / as sysdba << EOF
select PARTITION_NAME
from dba_tab_partitions
where table_name='AUD$' and PARTITION_NAME not like '%FIRST%' and rownum<2
order by PARTITION_NAME asc;
EOF'
echo $OLDEST_PARTITION


And the result is this:



sqlplus / as sysdba << EOF select PARTITION_NAME from dba_tab_partitions where table_name=AUD and PARTITION_NAME not like %FIRST% and rownum<2 order by PARTITION_NAME asc; EOF









share|improve this question




















  • 1




    The first and last single-quote should be a backquote `
    – meuh
    Aug 1 '16 at 12:06
















0














I am trying to get a value from sqlplus like below. However, it does not echo what I want. Here is my script:



#!/bin/ksh
OLDEST_PARTITION='sqlplus / as sysdba << EOF
select PARTITION_NAME
from dba_tab_partitions
where table_name='AUD$' and PARTITION_NAME not like '%FIRST%' and rownum<2
order by PARTITION_NAME asc;
EOF'
echo $OLDEST_PARTITION


And the result is this:



sqlplus / as sysdba << EOF select PARTITION_NAME from dba_tab_partitions where table_name=AUD and PARTITION_NAME not like %FIRST% and rownum<2 order by PARTITION_NAME asc; EOF









share|improve this question




















  • 1




    The first and last single-quote should be a backquote `
    – meuh
    Aug 1 '16 at 12:06














0












0








0







I am trying to get a value from sqlplus like below. However, it does not echo what I want. Here is my script:



#!/bin/ksh
OLDEST_PARTITION='sqlplus / as sysdba << EOF
select PARTITION_NAME
from dba_tab_partitions
where table_name='AUD$' and PARTITION_NAME not like '%FIRST%' and rownum<2
order by PARTITION_NAME asc;
EOF'
echo $OLDEST_PARTITION


And the result is this:



sqlplus / as sysdba << EOF select PARTITION_NAME from dba_tab_partitions where table_name=AUD and PARTITION_NAME not like %FIRST% and rownum<2 order by PARTITION_NAME asc; EOF









share|improve this question















I am trying to get a value from sqlplus like below. However, it does not echo what I want. Here is my script:



#!/bin/ksh
OLDEST_PARTITION='sqlplus / as sysdba << EOF
select PARTITION_NAME
from dba_tab_partitions
where table_name='AUD$' and PARTITION_NAME not like '%FIRST%' and rownum<2
order by PARTITION_NAME asc;
EOF'
echo $OLDEST_PARTITION


And the result is this:



sqlplus / as sysdba << EOF select PARTITION_NAME from dba_tab_partitions where table_name=AUD and PARTITION_NAME not like %FIRST% and rownum<2 order by PARTITION_NAME asc; EOF






shell-script scripting






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Aug 2 '16 at 3:50









Jeff Schaller

38.5k1053125




38.5k1053125










asked Aug 1 '16 at 7:57









john true

1083




1083








  • 1




    The first and last single-quote should be a backquote `
    – meuh
    Aug 1 '16 at 12:06














  • 1




    The first and last single-quote should be a backquote `
    – meuh
    Aug 1 '16 at 12:06








1




1




The first and last single-quote should be a backquote `
– meuh
Aug 1 '16 at 12:06




The first and last single-quote should be a backquote `
– meuh
Aug 1 '16 at 12:06










1 Answer
1






active

oldest

votes


















0














As meuh pointed out, unless you copy/pasted the script incorrectly, you have single-quote marks where you need to have backticks. Changing them makes the script into:



#!/bin/ksh
OLDEST_PARTITION=`sqlplus / as sysdba << EOF
select PARTITION_NAME
from dba_tab_partitions
where table_name='AUD$' and PARTITION_NAME not like '%FIRST%' and rownum<2
order by PARTITION_NAME asc;
EOF
`
echo "$OLDEST_PARTITION"


I took care to keep the EOF on its own line, and also quote the OLDEST_PARTITION variable.






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%2f299545%2fgetting-variable-from-sqlplus%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














    As meuh pointed out, unless you copy/pasted the script incorrectly, you have single-quote marks where you need to have backticks. Changing them makes the script into:



    #!/bin/ksh
    OLDEST_PARTITION=`sqlplus / as sysdba << EOF
    select PARTITION_NAME
    from dba_tab_partitions
    where table_name='AUD$' and PARTITION_NAME not like '%FIRST%' and rownum<2
    order by PARTITION_NAME asc;
    EOF
    `
    echo "$OLDEST_PARTITION"


    I took care to keep the EOF on its own line, and also quote the OLDEST_PARTITION variable.






    share|improve this answer




























      0














      As meuh pointed out, unless you copy/pasted the script incorrectly, you have single-quote marks where you need to have backticks. Changing them makes the script into:



      #!/bin/ksh
      OLDEST_PARTITION=`sqlplus / as sysdba << EOF
      select PARTITION_NAME
      from dba_tab_partitions
      where table_name='AUD$' and PARTITION_NAME not like '%FIRST%' and rownum<2
      order by PARTITION_NAME asc;
      EOF
      `
      echo "$OLDEST_PARTITION"


      I took care to keep the EOF on its own line, and also quote the OLDEST_PARTITION variable.






      share|improve this answer


























        0












        0








        0






        As meuh pointed out, unless you copy/pasted the script incorrectly, you have single-quote marks where you need to have backticks. Changing them makes the script into:



        #!/bin/ksh
        OLDEST_PARTITION=`sqlplus / as sysdba << EOF
        select PARTITION_NAME
        from dba_tab_partitions
        where table_name='AUD$' and PARTITION_NAME not like '%FIRST%' and rownum<2
        order by PARTITION_NAME asc;
        EOF
        `
        echo "$OLDEST_PARTITION"


        I took care to keep the EOF on its own line, and also quote the OLDEST_PARTITION variable.






        share|improve this answer














        As meuh pointed out, unless you copy/pasted the script incorrectly, you have single-quote marks where you need to have backticks. Changing them makes the script into:



        #!/bin/ksh
        OLDEST_PARTITION=`sqlplus / as sysdba << EOF
        select PARTITION_NAME
        from dba_tab_partitions
        where table_name='AUD$' and PARTITION_NAME not like '%FIRST%' and rownum<2
        order by PARTITION_NAME asc;
        EOF
        `
        echo "$OLDEST_PARTITION"


        I took care to keep the EOF on its own line, and also quote the OLDEST_PARTITION variable.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Apr 13 '17 at 12:36









        Community

        1




        1










        answered Aug 2 '16 at 3:52









        Jeff Schaller

        38.5k1053125




        38.5k1053125






























            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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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%2f299545%2fgetting-variable-from-sqlplus%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

            List directoties down one level, excluding some named directories and files

            list processes belonging to a network namespace

            list systemd RuntimeDirectory mounts