How to create an environment variable that is the output of a command












1














How do I create an environment variable that is the result of a specific command?
Specifically, I want an environment variable ($BWD) that is the basename of $PWD



$ cd /home/devel/Autils/lib
$ echo $PWD
/home/devel/Autils/lib
$ # something here to assign BWD
$ echo $BWD
lib









share|improve this question









New contributor




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

























    1














    How do I create an environment variable that is the result of a specific command?
    Specifically, I want an environment variable ($BWD) that is the basename of $PWD



    $ cd /home/devel/Autils/lib
    $ echo $PWD
    /home/devel/Autils/lib
    $ # something here to assign BWD
    $ echo $BWD
    lib









    share|improve this question









    New contributor




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























      1












      1








      1







      How do I create an environment variable that is the result of a specific command?
      Specifically, I want an environment variable ($BWD) that is the basename of $PWD



      $ cd /home/devel/Autils/lib
      $ echo $PWD
      /home/devel/Autils/lib
      $ # something here to assign BWD
      $ echo $BWD
      lib









      share|improve this question









      New contributor




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











      How do I create an environment variable that is the result of a specific command?
      Specifically, I want an environment variable ($BWD) that is the basename of $PWD



      $ cd /home/devel/Autils/lib
      $ echo $PWD
      /home/devel/Autils/lib
      $ # something here to assign BWD
      $ echo $BWD
      lib






      environment-variables alias






      share|improve this question









      New contributor




      Josh 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




      Josh 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 3 mins ago









      Jeff Schaller

      39k1053125




      39k1053125






      New contributor




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









      asked 11 mins ago









      JoshJosh

      61




      61




      New contributor




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





      New contributor





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






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






















          3 Answers
          3






          active

          oldest

          votes


















          1














          You can use the construct foo="$(command)" to return the output of command into the variable foo. So, for your use-case:



          $ BWD="$(basename $PWD)"




          share





















          • Or BWD=${PWD##*/}
            – jasonwryan
            2 mins ago



















          0














          Using command substitution:



          export BWD="basename $(PWD)"




          share





























            0














            In general the sequence foo="$(bar)" will run the command bar and assign the output to the variable.



            e.g.



            % echo $PWD
            /home/sweh
            % BWD="$(basename $PWD)"
            % echo $BWD
            sweh


            This creates a shell variable. If you want to make it into an environment variable (which can be seen by sub-shells) you can export it.



            e.g.



            export BWD="$(basename $PWD)"


            However, in this case don't need to run a command, but use shell variable expansion



            BWD=${PWD##*/}




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


              }
              });






              Josh 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%2f493081%2fhow-to-create-an-environment-variable-that-is-the-output-of-a-command%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














              You can use the construct foo="$(command)" to return the output of command into the variable foo. So, for your use-case:



              $ BWD="$(basename $PWD)"




              share





















              • Or BWD=${PWD##*/}
                – jasonwryan
                2 mins ago
















              1














              You can use the construct foo="$(command)" to return the output of command into the variable foo. So, for your use-case:



              $ BWD="$(basename $PWD)"




              share





















              • Or BWD=${PWD##*/}
                – jasonwryan
                2 mins ago














              1












              1








              1






              You can use the construct foo="$(command)" to return the output of command into the variable foo. So, for your use-case:



              $ BWD="$(basename $PWD)"




              share












              You can use the construct foo="$(command)" to return the output of command into the variable foo. So, for your use-case:



              $ BWD="$(basename $PWD)"





              share











              share


              share










              answered 9 mins ago









              DopeGhotiDopeGhoti

              43.6k55382




              43.6k55382












              • Or BWD=${PWD##*/}
                – jasonwryan
                2 mins ago


















              • Or BWD=${PWD##*/}
                – jasonwryan
                2 mins ago
















              Or BWD=${PWD##*/}
              – jasonwryan
              2 mins ago




              Or BWD=${PWD##*/}
              – jasonwryan
              2 mins ago













              0














              Using command substitution:



              export BWD="basename $(PWD)"




              share


























                0














                Using command substitution:



                export BWD="basename $(PWD)"




                share
























                  0












                  0








                  0






                  Using command substitution:



                  export BWD="basename $(PWD)"




                  share












                  Using command substitution:



                  export BWD="basename $(PWD)"





                  share











                  share


                  share










                  answered 2 mins ago









                  Nasir RileyNasir Riley

                  2,406239




                  2,406239























                      0














                      In general the sequence foo="$(bar)" will run the command bar and assign the output to the variable.



                      e.g.



                      % echo $PWD
                      /home/sweh
                      % BWD="$(basename $PWD)"
                      % echo $BWD
                      sweh


                      This creates a shell variable. If you want to make it into an environment variable (which can be seen by sub-shells) you can export it.



                      e.g.



                      export BWD="$(basename $PWD)"


                      However, in this case don't need to run a command, but use shell variable expansion



                      BWD=${PWD##*/}




                      share


























                        0














                        In general the sequence foo="$(bar)" will run the command bar and assign the output to the variable.



                        e.g.



                        % echo $PWD
                        /home/sweh
                        % BWD="$(basename $PWD)"
                        % echo $BWD
                        sweh


                        This creates a shell variable. If you want to make it into an environment variable (which can be seen by sub-shells) you can export it.



                        e.g.



                        export BWD="$(basename $PWD)"


                        However, in this case don't need to run a command, but use shell variable expansion



                        BWD=${PWD##*/}




                        share
























                          0












                          0








                          0






                          In general the sequence foo="$(bar)" will run the command bar and assign the output to the variable.



                          e.g.



                          % echo $PWD
                          /home/sweh
                          % BWD="$(basename $PWD)"
                          % echo $BWD
                          sweh


                          This creates a shell variable. If you want to make it into an environment variable (which can be seen by sub-shells) you can export it.



                          e.g.



                          export BWD="$(basename $PWD)"


                          However, in this case don't need to run a command, but use shell variable expansion



                          BWD=${PWD##*/}




                          share












                          In general the sequence foo="$(bar)" will run the command bar and assign the output to the variable.



                          e.g.



                          % echo $PWD
                          /home/sweh
                          % BWD="$(basename $PWD)"
                          % echo $BWD
                          sweh


                          This creates a shell variable. If you want to make it into an environment variable (which can be seen by sub-shells) you can export it.



                          e.g.



                          export BWD="$(basename $PWD)"


                          However, in this case don't need to run a command, but use shell variable expansion



                          BWD=${PWD##*/}





                          share











                          share


                          share










                          answered 1 min ago









                          Stephen HarrisStephen Harris

                          25.2k24477




                          25.2k24477






















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










                              draft saved

                              draft discarded


















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













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












                              Josh 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.





                              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%2f493081%2fhow-to-create-an-environment-variable-that-is-the-output-of-a-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

                              CARDNET

                              Boot-repair Failure: Unable to locate package grub-common:i386

                              濃尾地震