How to write an arg into a file?





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







0















I am trying to write some content to a file and at the same time change some values that will be passed through the args.



I followed this answer
Creating a file with some content in Shell scripting



cat > filename <<- "EOF"
File contents
More contents
EOF


So let say when I run the script like this:



./script Abraham


and I want to write inside the file something like:



Hello Abraham
More contents, etc...


I came from a Javascript background so I was trying something like:



`Hello ${1}, etc...`


but what I was getting inside the file was:



Hello $1
More contents, etc...


because is not letting me set the variable of the argument. So how can I accomplish that? Thanks in advance.










share|improve this question





























    0















    I am trying to write some content to a file and at the same time change some values that will be passed through the args.



    I followed this answer
    Creating a file with some content in Shell scripting



    cat > filename <<- "EOF"
    File contents
    More contents
    EOF


    So let say when I run the script like this:



    ./script Abraham


    and I want to write inside the file something like:



    Hello Abraham
    More contents, etc...


    I came from a Javascript background so I was trying something like:



    `Hello ${1}, etc...`


    but what I was getting inside the file was:



    Hello $1
    More contents, etc...


    because is not letting me set the variable of the argument. So how can I accomplish that? Thanks in advance.










    share|improve this question

























      0












      0








      0








      I am trying to write some content to a file and at the same time change some values that will be passed through the args.



      I followed this answer
      Creating a file with some content in Shell scripting



      cat > filename <<- "EOF"
      File contents
      More contents
      EOF


      So let say when I run the script like this:



      ./script Abraham


      and I want to write inside the file something like:



      Hello Abraham
      More contents, etc...


      I came from a Javascript background so I was trying something like:



      `Hello ${1}, etc...`


      but what I was getting inside the file was:



      Hello $1
      More contents, etc...


      because is not letting me set the variable of the argument. So how can I accomplish that? Thanks in advance.










      share|improve this question














      I am trying to write some content to a file and at the same time change some values that will be passed through the args.



      I followed this answer
      Creating a file with some content in Shell scripting



      cat > filename <<- "EOF"
      File contents
      More contents
      EOF


      So let say when I run the script like this:



      ./script Abraham


      and I want to write inside the file something like:



      Hello Abraham
      More contents, etc...


      I came from a Javascript background so I was trying something like:



      `Hello ${1}, etc...`


      but what I was getting inside the file was:



      Hello $1
      More contents, etc...


      because is not letting me set the variable of the argument. So how can I accomplish that? Thanks in advance.







      command-line bash






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Feb 19 at 7:30









      Carlos AbrahamCarlos Abraham

      1113




      1113






















          1 Answer
          1






          active

          oldest

          votes


















          0














          The quotes around the initial "EOF" prevent variable expansion. To use variables in the heredoc text, you need to an unquoted delimiter:



          cat > filename <<- EOF
          Hello $1
          More contents, etc...
          EOF


          But then you'll have to be careful about shell syntax in the rest of the contents.



          Another option is to write this line separately, and write the fixed contents using a heredoc:



          echo "Hello $1" > filename
          cat >> filename <<- "EOF"
          More contents, etc...
          EOF


          Note the use of >> for appending after the initial write.






          share|improve this answer
























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "89"
            };
            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: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            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%2faskubuntu.com%2fquestions%2f1119430%2fhow-to-write-an-arg-into-a-file%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














            The quotes around the initial "EOF" prevent variable expansion. To use variables in the heredoc text, you need to an unquoted delimiter:



            cat > filename <<- EOF
            Hello $1
            More contents, etc...
            EOF


            But then you'll have to be careful about shell syntax in the rest of the contents.



            Another option is to write this line separately, and write the fixed contents using a heredoc:



            echo "Hello $1" > filename
            cat >> filename <<- "EOF"
            More contents, etc...
            EOF


            Note the use of >> for appending after the initial write.






            share|improve this answer




























              0














              The quotes around the initial "EOF" prevent variable expansion. To use variables in the heredoc text, you need to an unquoted delimiter:



              cat > filename <<- EOF
              Hello $1
              More contents, etc...
              EOF


              But then you'll have to be careful about shell syntax in the rest of the contents.



              Another option is to write this line separately, and write the fixed contents using a heredoc:



              echo "Hello $1" > filename
              cat >> filename <<- "EOF"
              More contents, etc...
              EOF


              Note the use of >> for appending after the initial write.






              share|improve this answer


























                0












                0








                0







                The quotes around the initial "EOF" prevent variable expansion. To use variables in the heredoc text, you need to an unquoted delimiter:



                cat > filename <<- EOF
                Hello $1
                More contents, etc...
                EOF


                But then you'll have to be careful about shell syntax in the rest of the contents.



                Another option is to write this line separately, and write the fixed contents using a heredoc:



                echo "Hello $1" > filename
                cat >> filename <<- "EOF"
                More contents, etc...
                EOF


                Note the use of >> for appending after the initial write.






                share|improve this answer













                The quotes around the initial "EOF" prevent variable expansion. To use variables in the heredoc text, you need to an unquoted delimiter:



                cat > filename <<- EOF
                Hello $1
                More contents, etc...
                EOF


                But then you'll have to be careful about shell syntax in the rest of the contents.



                Another option is to write this line separately, and write the fixed contents using a heredoc:



                echo "Hello $1" > filename
                cat >> filename <<- "EOF"
                More contents, etc...
                EOF


                Note the use of >> for appending after the initial write.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Feb 19 at 7:36









                OlorinOlorin

                1




                1






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Ask Ubuntu!


                    • 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%2faskubuntu.com%2fquestions%2f1119430%2fhow-to-write-an-arg-into-a-file%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

                    Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

                    ComboBox Display Member on multiple fields

                    Is it possible to collect Nectar points via Trainline?