“not a valid identifier” when I do “export $PATH”












34















When I run export $PATH in bash, I get the error not a valid identifier. Why?










share|improve this question




















  • 8





    In bash and other shells, $ is “value of”. You're exporting the variable PATH, not accessing its value, so it's export PATH with no $.

    – Gilles
    Jun 17 '13 at 18:10
















34















When I run export $PATH in bash, I get the error not a valid identifier. Why?










share|improve this question




















  • 8





    In bash and other shells, $ is “value of”. You're exporting the variable PATH, not accessing its value, so it's export PATH with no $.

    – Gilles
    Jun 17 '13 at 18:10














34












34








34


7






When I run export $PATH in bash, I get the error not a valid identifier. Why?










share|improve this question
















When I run export $PATH in bash, I get the error not a valid identifier. Why?







bash shell environment-variables






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 7 '15 at 9:51







ThaSaleni

















asked Jun 17 '13 at 7:53









ThaSaleniThaSaleni

296135




296135








  • 8





    In bash and other shells, $ is “value of”. You're exporting the variable PATH, not accessing its value, so it's export PATH with no $.

    – Gilles
    Jun 17 '13 at 18:10














  • 8





    In bash and other shells, $ is “value of”. You're exporting the variable PATH, not accessing its value, so it's export PATH with no $.

    – Gilles
    Jun 17 '13 at 18:10








8




8





In bash and other shells, $ is “value of”. You're exporting the variable PATH, not accessing its value, so it's export PATH with no $.

– Gilles
Jun 17 '13 at 18:10





In bash and other shells, $ is “value of”. You're exporting the variable PATH, not accessing its value, so it's export PATH with no $.

– Gilles
Jun 17 '13 at 18:10










4 Answers
4






active

oldest

votes


















34














Running export $PATH will try to export a variable with a name equal to the value of $PATH (after word splitting). That is, it's equivalent to writing something like export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. And since /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin is not a valid variable name, it fails. What you want to do is export PATH.



export (equivalent to declare -x) in Bash simply makes the variable available to subshells.



To print the value of a variable safely and readably, use printf %q "$PATH".






share|improve this answer


























  • Basically I have created some variables, JAVA_HOME, MAVEN_HOME and want to make sure that bash has properly set them, so I export $PATH to see if the path variables have been properly set to the PATH variable

    – ThaSaleni
    Jun 17 '13 at 10:04






  • 1





    This is shell dependent, not OS dependent. I would be surprised if export ever worked like that in Bash.

    – l0b0
    Jun 17 '13 at 10:04













  • Additionally, the PATH variable is already exported and does not need to be exported again.

    – Kusalananda
    Apr 14 '18 at 9:57



















16














The following command export $PATH=somePath will return not a valid identifier and that is because of the $ before the PATH variable.



solution:



export PATH=somePath






share|improve this answer































    0














    You should use it this way:
    export PATH=$PATH:/something/bin
    Instead of:
    export $PATH=$PATH:/something/bin



    just remove the $ sign from the LHS





    share








    New contributor




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




























      -1














      You probably had a need to append a $PATH to your existing PATH variable ?



      export PATH=$PATH:/something/bin





      share|improve this answer





















      • 1





        OK, this is in the same ball park as the question, but it’s out in left field.

        – G-Man
        Mar 15 '18 at 0:12











      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%2f79658%2fnot-a-valid-identifier-when-i-do-export-path%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      4 Answers
      4






      active

      oldest

      votes








      4 Answers
      4






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      34














      Running export $PATH will try to export a variable with a name equal to the value of $PATH (after word splitting). That is, it's equivalent to writing something like export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. And since /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin is not a valid variable name, it fails. What you want to do is export PATH.



      export (equivalent to declare -x) in Bash simply makes the variable available to subshells.



      To print the value of a variable safely and readably, use printf %q "$PATH".






      share|improve this answer


























      • Basically I have created some variables, JAVA_HOME, MAVEN_HOME and want to make sure that bash has properly set them, so I export $PATH to see if the path variables have been properly set to the PATH variable

        – ThaSaleni
        Jun 17 '13 at 10:04






      • 1





        This is shell dependent, not OS dependent. I would be surprised if export ever worked like that in Bash.

        – l0b0
        Jun 17 '13 at 10:04













      • Additionally, the PATH variable is already exported and does not need to be exported again.

        – Kusalananda
        Apr 14 '18 at 9:57
















      34














      Running export $PATH will try to export a variable with a name equal to the value of $PATH (after word splitting). That is, it's equivalent to writing something like export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. And since /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin is not a valid variable name, it fails. What you want to do is export PATH.



      export (equivalent to declare -x) in Bash simply makes the variable available to subshells.



      To print the value of a variable safely and readably, use printf %q "$PATH".






      share|improve this answer


























      • Basically I have created some variables, JAVA_HOME, MAVEN_HOME and want to make sure that bash has properly set them, so I export $PATH to see if the path variables have been properly set to the PATH variable

        – ThaSaleni
        Jun 17 '13 at 10:04






      • 1





        This is shell dependent, not OS dependent. I would be surprised if export ever worked like that in Bash.

        – l0b0
        Jun 17 '13 at 10:04













      • Additionally, the PATH variable is already exported and does not need to be exported again.

        – Kusalananda
        Apr 14 '18 at 9:57














      34












      34








      34







      Running export $PATH will try to export a variable with a name equal to the value of $PATH (after word splitting). That is, it's equivalent to writing something like export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. And since /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin is not a valid variable name, it fails. What you want to do is export PATH.



      export (equivalent to declare -x) in Bash simply makes the variable available to subshells.



      To print the value of a variable safely and readably, use printf %q "$PATH".






      share|improve this answer















      Running export $PATH will try to export a variable with a name equal to the value of $PATH (after word splitting). That is, it's equivalent to writing something like export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. And since /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin is not a valid variable name, it fails. What you want to do is export PATH.



      export (equivalent to declare -x) in Bash simply makes the variable available to subshells.



      To print the value of a variable safely and readably, use printf %q "$PATH".







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Apr 14 '18 at 20:59

























      answered Jun 17 '13 at 8:19









      l0b0l0b0

      28.4k19120248




      28.4k19120248













      • Basically I have created some variables, JAVA_HOME, MAVEN_HOME and want to make sure that bash has properly set them, so I export $PATH to see if the path variables have been properly set to the PATH variable

        – ThaSaleni
        Jun 17 '13 at 10:04






      • 1





        This is shell dependent, not OS dependent. I would be surprised if export ever worked like that in Bash.

        – l0b0
        Jun 17 '13 at 10:04













      • Additionally, the PATH variable is already exported and does not need to be exported again.

        – Kusalananda
        Apr 14 '18 at 9:57



















      • Basically I have created some variables, JAVA_HOME, MAVEN_HOME and want to make sure that bash has properly set them, so I export $PATH to see if the path variables have been properly set to the PATH variable

        – ThaSaleni
        Jun 17 '13 at 10:04






      • 1





        This is shell dependent, not OS dependent. I would be surprised if export ever worked like that in Bash.

        – l0b0
        Jun 17 '13 at 10:04













      • Additionally, the PATH variable is already exported and does not need to be exported again.

        – Kusalananda
        Apr 14 '18 at 9:57

















      Basically I have created some variables, JAVA_HOME, MAVEN_HOME and want to make sure that bash has properly set them, so I export $PATH to see if the path variables have been properly set to the PATH variable

      – ThaSaleni
      Jun 17 '13 at 10:04





      Basically I have created some variables, JAVA_HOME, MAVEN_HOME and want to make sure that bash has properly set them, so I export $PATH to see if the path variables have been properly set to the PATH variable

      – ThaSaleni
      Jun 17 '13 at 10:04




      1




      1





      This is shell dependent, not OS dependent. I would be surprised if export ever worked like that in Bash.

      – l0b0
      Jun 17 '13 at 10:04







      This is shell dependent, not OS dependent. I would be surprised if export ever worked like that in Bash.

      – l0b0
      Jun 17 '13 at 10:04















      Additionally, the PATH variable is already exported and does not need to be exported again.

      – Kusalananda
      Apr 14 '18 at 9:57





      Additionally, the PATH variable is already exported and does not need to be exported again.

      – Kusalananda
      Apr 14 '18 at 9:57













      16














      The following command export $PATH=somePath will return not a valid identifier and that is because of the $ before the PATH variable.



      solution:



      export PATH=somePath






      share|improve this answer




























        16














        The following command export $PATH=somePath will return not a valid identifier and that is because of the $ before the PATH variable.



        solution:



        export PATH=somePath






        share|improve this answer


























          16












          16








          16







          The following command export $PATH=somePath will return not a valid identifier and that is because of the $ before the PATH variable.



          solution:



          export PATH=somePath






          share|improve this answer













          The following command export $PATH=somePath will return not a valid identifier and that is because of the $ before the PATH variable.



          solution:



          export PATH=somePath







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jul 16 '15 at 19:00









          Kevin CrainKevin Crain

          26123




          26123























              0














              You should use it this way:
              export PATH=$PATH:/something/bin
              Instead of:
              export $PATH=$PATH:/something/bin



              just remove the $ sign from the LHS





              share








              New contributor




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

























                0














                You should use it this way:
                export PATH=$PATH:/something/bin
                Instead of:
                export $PATH=$PATH:/something/bin



                just remove the $ sign from the LHS





                share








                New contributor




                Abd ElRahman Mahareek 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







                  You should use it this way:
                  export PATH=$PATH:/something/bin
                  Instead of:
                  export $PATH=$PATH:/something/bin



                  just remove the $ sign from the LHS





                  share








                  New contributor




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










                  You should use it this way:
                  export PATH=$PATH:/something/bin
                  Instead of:
                  export $PATH=$PATH:/something/bin



                  just remove the $ sign from the LHS






                  share








                  New contributor




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








                  share


                  share






                  New contributor




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









                  answered 6 mins ago









                  Abd ElRahman MahareekAbd ElRahman Mahareek

                  1




                  1




                  New contributor




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





                  New contributor





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






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























                      -1














                      You probably had a need to append a $PATH to your existing PATH variable ?



                      export PATH=$PATH:/something/bin





                      share|improve this answer





















                      • 1





                        OK, this is in the same ball park as the question, but it’s out in left field.

                        – G-Man
                        Mar 15 '18 at 0:12
















                      -1














                      You probably had a need to append a $PATH to your existing PATH variable ?



                      export PATH=$PATH:/something/bin





                      share|improve this answer





















                      • 1





                        OK, this is in the same ball park as the question, but it’s out in left field.

                        – G-Man
                        Mar 15 '18 at 0:12














                      -1












                      -1








                      -1







                      You probably had a need to append a $PATH to your existing PATH variable ?



                      export PATH=$PATH:/something/bin





                      share|improve this answer















                      You probably had a need to append a $PATH to your existing PATH variable ?



                      export PATH=$PATH:/something/bin






                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited Jun 16 '18 at 13:20

























                      answered Mar 14 '18 at 23:01









                      Thad GuidryThad Guidry

                      1071




                      1071








                      • 1





                        OK, this is in the same ball park as the question, but it’s out in left field.

                        – G-Man
                        Mar 15 '18 at 0:12














                      • 1





                        OK, this is in the same ball park as the question, but it’s out in left field.

                        – G-Man
                        Mar 15 '18 at 0:12








                      1




                      1





                      OK, this is in the same ball park as the question, but it’s out in left field.

                      – G-Man
                      Mar 15 '18 at 0:12





                      OK, this is in the same ball park as the question, but it’s out in left field.

                      – G-Man
                      Mar 15 '18 at 0:12


















                      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%2f79658%2fnot-a-valid-identifier-when-i-do-export-path%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