How can I build an env file (with $ characters) listing as-is from echo command?












0















I am trying to build a file invoked from a script that echoes what is in quotes to a file - only, the $ gets omitted.



This is what I was trying to do:



echo -e "export ORACLE_BASE=/oracle/APP/grid n 
export ORACLE_HOME=/oracle/APP/grid/12.1.0/gridn
export PATH=$ORACLE_HOME/bin:$PATHn export ORACLE_SID=+ASM”>/home/oragrid/ASM.env


But it doesn't quite echo into the file.










share|improve this question









New contributor




Andrew J is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    0















    I am trying to build a file invoked from a script that echoes what is in quotes to a file - only, the $ gets omitted.



    This is what I was trying to do:



    echo -e "export ORACLE_BASE=/oracle/APP/grid n 
    export ORACLE_HOME=/oracle/APP/grid/12.1.0/gridn
    export PATH=$ORACLE_HOME/bin:$PATHn export ORACLE_SID=+ASM”>/home/oragrid/ASM.env


    But it doesn't quite echo into the file.










    share|improve this question









    New contributor




    Andrew J is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      0












      0








      0








      I am trying to build a file invoked from a script that echoes what is in quotes to a file - only, the $ gets omitted.



      This is what I was trying to do:



      echo -e "export ORACLE_BASE=/oracle/APP/grid n 
      export ORACLE_HOME=/oracle/APP/grid/12.1.0/gridn
      export PATH=$ORACLE_HOME/bin:$PATHn export ORACLE_SID=+ASM”>/home/oragrid/ASM.env


      But it doesn't quite echo into the file.










      share|improve this question









      New contributor




      Andrew J is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I am trying to build a file invoked from a script that echoes what is in quotes to a file - only, the $ gets omitted.



      This is what I was trying to do:



      echo -e "export ORACLE_BASE=/oracle/APP/grid n 
      export ORACLE_HOME=/oracle/APP/grid/12.1.0/gridn
      export PATH=$ORACLE_HOME/bin:$PATHn export ORACLE_SID=+ASM”>/home/oragrid/ASM.env


      But it doesn't quite echo into the file.







      echo variable-substitution






      share|improve this question









      New contributor




      Andrew J is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Andrew J is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited Jan 8 at 16:19









      Inian

      3,935824




      3,935824






      New contributor




      Andrew J is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Jan 8 at 16:18









      Andrew JAndrew J

      111




      111




      New contributor




      Andrew J is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Andrew J is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Andrew J is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          2














          Don't use echo -e in scripts aimed at portability. Use the shell built-in printf() which does everything as the former and still remains compliant across shells. For your requirement though, to store a multi-line string without expanding variables prefixed with $, use a here-doc



          cat << 'EOF' > /home/oragrid/ASM.env
          export ORACLE_BASE=/oracle/APP/grid
          export ORACLE_HOME=/oracle/APP/grid/12.1.0/grid
          export PATH=$ORACLE_HOME/bin:$PATH
          export ORACLE_SID=+ASM
          EOF


          This would keep all the content within EOF intact, not expanding the variables inside.






          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
            });


            }
            });






            Andrew J is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f493271%2fhow-can-i-build-an-env-file-with-characters-listing-as-is-from-echo-command%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









            2














            Don't use echo -e in scripts aimed at portability. Use the shell built-in printf() which does everything as the former and still remains compliant across shells. For your requirement though, to store a multi-line string without expanding variables prefixed with $, use a here-doc



            cat << 'EOF' > /home/oragrid/ASM.env
            export ORACLE_BASE=/oracle/APP/grid
            export ORACLE_HOME=/oracle/APP/grid/12.1.0/grid
            export PATH=$ORACLE_HOME/bin:$PATH
            export ORACLE_SID=+ASM
            EOF


            This would keep all the content within EOF intact, not expanding the variables inside.






            share|improve this answer




























              2














              Don't use echo -e in scripts aimed at portability. Use the shell built-in printf() which does everything as the former and still remains compliant across shells. For your requirement though, to store a multi-line string without expanding variables prefixed with $, use a here-doc



              cat << 'EOF' > /home/oragrid/ASM.env
              export ORACLE_BASE=/oracle/APP/grid
              export ORACLE_HOME=/oracle/APP/grid/12.1.0/grid
              export PATH=$ORACLE_HOME/bin:$PATH
              export ORACLE_SID=+ASM
              EOF


              This would keep all the content within EOF intact, not expanding the variables inside.






              share|improve this answer


























                2












                2








                2







                Don't use echo -e in scripts aimed at portability. Use the shell built-in printf() which does everything as the former and still remains compliant across shells. For your requirement though, to store a multi-line string without expanding variables prefixed with $, use a here-doc



                cat << 'EOF' > /home/oragrid/ASM.env
                export ORACLE_BASE=/oracle/APP/grid
                export ORACLE_HOME=/oracle/APP/grid/12.1.0/grid
                export PATH=$ORACLE_HOME/bin:$PATH
                export ORACLE_SID=+ASM
                EOF


                This would keep all the content within EOF intact, not expanding the variables inside.






                share|improve this answer













                Don't use echo -e in scripts aimed at portability. Use the shell built-in printf() which does everything as the former and still remains compliant across shells. For your requirement though, to store a multi-line string without expanding variables prefixed with $, use a here-doc



                cat << 'EOF' > /home/oragrid/ASM.env
                export ORACLE_BASE=/oracle/APP/grid
                export ORACLE_HOME=/oracle/APP/grid/12.1.0/grid
                export PATH=$ORACLE_HOME/bin:$PATH
                export ORACLE_SID=+ASM
                EOF


                This would keep all the content within EOF intact, not expanding the variables inside.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 8 at 16:28









                InianInian

                3,935824




                3,935824






















                    Andrew J is a new contributor. Be nice, and check out our Code of Conduct.










                    draft saved

                    draft discarded


















                    Andrew J is a new contributor. Be nice, and check out our Code of Conduct.













                    Andrew J is a new contributor. Be nice, and check out our Code of Conduct.












                    Andrew J is a new contributor. Be nice, and check out our Code of Conduct.
















                    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%2f493271%2fhow-can-i-build-an-env-file-with-characters-listing-as-is-from-echo-command%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

                    How to reconfigure Docker Trusted Registry 2.x.x to use CEPH FS mount instead of NFS and other traditional...

                    is 'sed' thread safe

                    How to make a Squid Proxy server?