POSIX shell: does `$` lose its special meaning if it is the last character in a word?












1














On ash, dash and bash, when I run



$ echo ab$


it returns



ab$


Is this behavior specified by POSIX or is it just a common convention in POSIX-compliant shells? I couldn't find anything on the POSIX Shell Command Language page that mentions this behavior.










share|improve this question





























    1














    On ash, dash and bash, when I run



    $ echo ab$


    it returns



    ab$


    Is this behavior specified by POSIX or is it just a common convention in POSIX-compliant shells? I couldn't find anything on the POSIX Shell Command Language page that mentions this behavior.










    share|improve this question



























      1












      1








      1







      On ash, dash and bash, when I run



      $ echo ab$


      it returns



      ab$


      Is this behavior specified by POSIX or is it just a common convention in POSIX-compliant shells? I couldn't find anything on the POSIX Shell Command Language page that mentions this behavior.










      share|improve this question















      On ash, dash and bash, when I run



      $ echo ab$


      it returns



      ab$


      Is this behavior specified by POSIX or is it just a common convention in POSIX-compliant shells? I couldn't find anything on the POSIX Shell Command Language page that mentions this behavior.







      shell posix






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 1 hour ago









      Sparhawk

      9,33263991




      9,33263991










      asked 2 hours ago









      Harold Fischer

      550313




      550313






















          2 Answers
          2






          active

          oldest

          votes


















          4














          A $ followed by an space (or no character) is unspecified by POSIX.




          The '$' character is used to introduce parameter expansion, command substitution, or arithmetic evaluation. If an unquoted '$' is followed by a character that is not one of the following:




          • A numeric character

          • The name of one of the special parameters (see Special Parameters)

          • A valid first character of a variable name

          • A <left-curly-bracket> ( '{' )

          • A <left-parenthesis>


          the result is unspecified.




          To make it explicit, a $ that is not followed by a character in this regex:



           [0-9a-zA-Z@*#?$!-]


          is explicitly unspecified: any result is allowed by POSIX.



          That is: any specific result is not guaranteed by POSIX.



          Or, if used, there is not way to know what whould be done by following POSIX.



          However, all implementations that I know of accept a trailing $ as part of the preceding word (if any).






          share|improve this answer































            2














            $ does not have a special meaning by itself (try echo $), only when combined with other character after it and forming an expansion, e.g. $var (or ${var}), $(util), $((1+2)).



            The $ gets its "special" meaning as defining an expansion in the POSIX standard under the section Token Recognition:




            If the current character is an unquoted $ or `, the shell shall identify the start of any candidates for parameter expansion, command substitution, or arithmetic expansion from their introductory unquoted character sequences: $ or ${, $( or `, and $((, respectively. The shell shall read sufficient input to determine the end of the unit to be expanded. While processing the characters, if instances of expansions or quoting are found nested within the substitution, the shell shall recursively process them in the manner specified for the construct that is found. The characters found from the beginning of the substitution to its end, allowing for any recursion necessary to recognize embedded constructs, shall be included unmodified in the result token, including any embedded or enclosing substitution operators or quotes. The token shall not be delimited by the end of the substitution.




            So, if $ does not form an expansion, other parsing rules come into effect:




            If the previous character was part of a word, the current character shall be appended to that word.




            That covers your ab$ string.



            In the case of a lone $ (the "new word" would be the $ by itself):




            The current character is used as the start of a new word.




            The meaning of the generated word containing a $ that is not a standard expansion is explicitly defined as unspecified by POSIX.



            Also note that $ is the last character in $$, but that this also happens to be the variable that holds the current shell's PID. In bash, !$ may invoke a history expansion (the last argument af the previous command). So in general, no, $ is not without meaning at the end of an unquoted word, but at the end of a word it does at least not denote a standard expansion.






            share|improve this answer























            • More to the point from this line of reasoning, since this step doesn't apply, either step 8 ("If the previous character was part of a word, the current character shall be appended to that word.") or step 10 ("The current character is used as the start of a new word.") must do. I think the word expansions section quoted by Isaac contrarily makes it unspecified, though, even if it perhaps didn't mean to.
              – Michael Homer
              1 hour ago












            • @Isaac I deleted the parenthesis that I'm assuming you're referring to.
              – Kusalananda
              1 hour ago










            • @Isaac Ah, I see. I thought "left unspecified" would mean the same as "defined as unspecified", but I could definitely make that wording better.
              – Kusalananda
              46 mins ago










            • It seems reasonable that In the case of a lone $ (the "new word" would be the $ by itself): and that is what has been generally implemented, but what sounds reasonable and what the spec states don't always match. What the spec clearly states is: "not followed by (…)", and a trailing $ character is "not followed by (…)". So, it is explicitly unspecified.
              – Isaac
              32 mins ago












            • @Isaac Yes. This is what I say. The section I'm quoting is on token recognition. The lone $ is recognised as a word token. It is not recognised as an expansion. The meaning of that lone $ word, i.e. the action that the shell takes, is unspecified. This is what I say.
              – Kusalananda
              26 mins ago













            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%2f492397%2fposix-shell-does-lose-its-special-meaning-if-it-is-the-last-character-in-a%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            4














            A $ followed by an space (or no character) is unspecified by POSIX.




            The '$' character is used to introduce parameter expansion, command substitution, or arithmetic evaluation. If an unquoted '$' is followed by a character that is not one of the following:




            • A numeric character

            • The name of one of the special parameters (see Special Parameters)

            • A valid first character of a variable name

            • A <left-curly-bracket> ( '{' )

            • A <left-parenthesis>


            the result is unspecified.




            To make it explicit, a $ that is not followed by a character in this regex:



             [0-9a-zA-Z@*#?$!-]


            is explicitly unspecified: any result is allowed by POSIX.



            That is: any specific result is not guaranteed by POSIX.



            Or, if used, there is not way to know what whould be done by following POSIX.



            However, all implementations that I know of accept a trailing $ as part of the preceding word (if any).






            share|improve this answer




























              4














              A $ followed by an space (or no character) is unspecified by POSIX.




              The '$' character is used to introduce parameter expansion, command substitution, or arithmetic evaluation. If an unquoted '$' is followed by a character that is not one of the following:




              • A numeric character

              • The name of one of the special parameters (see Special Parameters)

              • A valid first character of a variable name

              • A <left-curly-bracket> ( '{' )

              • A <left-parenthesis>


              the result is unspecified.




              To make it explicit, a $ that is not followed by a character in this regex:



               [0-9a-zA-Z@*#?$!-]


              is explicitly unspecified: any result is allowed by POSIX.



              That is: any specific result is not guaranteed by POSIX.



              Or, if used, there is not way to know what whould be done by following POSIX.



              However, all implementations that I know of accept a trailing $ as part of the preceding word (if any).






              share|improve this answer


























                4












                4








                4






                A $ followed by an space (or no character) is unspecified by POSIX.




                The '$' character is used to introduce parameter expansion, command substitution, or arithmetic evaluation. If an unquoted '$' is followed by a character that is not one of the following:




                • A numeric character

                • The name of one of the special parameters (see Special Parameters)

                • A valid first character of a variable name

                • A <left-curly-bracket> ( '{' )

                • A <left-parenthesis>


                the result is unspecified.




                To make it explicit, a $ that is not followed by a character in this regex:



                 [0-9a-zA-Z@*#?$!-]


                is explicitly unspecified: any result is allowed by POSIX.



                That is: any specific result is not guaranteed by POSIX.



                Or, if used, there is not way to know what whould be done by following POSIX.



                However, all implementations that I know of accept a trailing $ as part of the preceding word (if any).






                share|improve this answer














                A $ followed by an space (or no character) is unspecified by POSIX.




                The '$' character is used to introduce parameter expansion, command substitution, or arithmetic evaluation. If an unquoted '$' is followed by a character that is not one of the following:




                • A numeric character

                • The name of one of the special parameters (see Special Parameters)

                • A valid first character of a variable name

                • A <left-curly-bracket> ( '{' )

                • A <left-parenthesis>


                the result is unspecified.




                To make it explicit, a $ that is not followed by a character in this regex:



                 [0-9a-zA-Z@*#?$!-]


                is explicitly unspecified: any result is allowed by POSIX.



                That is: any specific result is not guaranteed by POSIX.



                Or, if used, there is not way to know what whould be done by following POSIX.



                However, all implementations that I know of accept a trailing $ as part of the preceding word (if any).







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 16 mins ago

























                answered 1 hour ago









                Isaac

                11.2k11649




                11.2k11649

























                    2














                    $ does not have a special meaning by itself (try echo $), only when combined with other character after it and forming an expansion, e.g. $var (or ${var}), $(util), $((1+2)).



                    The $ gets its "special" meaning as defining an expansion in the POSIX standard under the section Token Recognition:




                    If the current character is an unquoted $ or `, the shell shall identify the start of any candidates for parameter expansion, command substitution, or arithmetic expansion from their introductory unquoted character sequences: $ or ${, $( or `, and $((, respectively. The shell shall read sufficient input to determine the end of the unit to be expanded. While processing the characters, if instances of expansions or quoting are found nested within the substitution, the shell shall recursively process them in the manner specified for the construct that is found. The characters found from the beginning of the substitution to its end, allowing for any recursion necessary to recognize embedded constructs, shall be included unmodified in the result token, including any embedded or enclosing substitution operators or quotes. The token shall not be delimited by the end of the substitution.




                    So, if $ does not form an expansion, other parsing rules come into effect:




                    If the previous character was part of a word, the current character shall be appended to that word.




                    That covers your ab$ string.



                    In the case of a lone $ (the "new word" would be the $ by itself):




                    The current character is used as the start of a new word.




                    The meaning of the generated word containing a $ that is not a standard expansion is explicitly defined as unspecified by POSIX.



                    Also note that $ is the last character in $$, but that this also happens to be the variable that holds the current shell's PID. In bash, !$ may invoke a history expansion (the last argument af the previous command). So in general, no, $ is not without meaning at the end of an unquoted word, but at the end of a word it does at least not denote a standard expansion.






                    share|improve this answer























                    • More to the point from this line of reasoning, since this step doesn't apply, either step 8 ("If the previous character was part of a word, the current character shall be appended to that word.") or step 10 ("The current character is used as the start of a new word.") must do. I think the word expansions section quoted by Isaac contrarily makes it unspecified, though, even if it perhaps didn't mean to.
                      – Michael Homer
                      1 hour ago












                    • @Isaac I deleted the parenthesis that I'm assuming you're referring to.
                      – Kusalananda
                      1 hour ago










                    • @Isaac Ah, I see. I thought "left unspecified" would mean the same as "defined as unspecified", but I could definitely make that wording better.
                      – Kusalananda
                      46 mins ago










                    • It seems reasonable that In the case of a lone $ (the "new word" would be the $ by itself): and that is what has been generally implemented, but what sounds reasonable and what the spec states don't always match. What the spec clearly states is: "not followed by (…)", and a trailing $ character is "not followed by (…)". So, it is explicitly unspecified.
                      – Isaac
                      32 mins ago












                    • @Isaac Yes. This is what I say. The section I'm quoting is on token recognition. The lone $ is recognised as a word token. It is not recognised as an expansion. The meaning of that lone $ word, i.e. the action that the shell takes, is unspecified. This is what I say.
                      – Kusalananda
                      26 mins ago


















                    2














                    $ does not have a special meaning by itself (try echo $), only when combined with other character after it and forming an expansion, e.g. $var (or ${var}), $(util), $((1+2)).



                    The $ gets its "special" meaning as defining an expansion in the POSIX standard under the section Token Recognition:




                    If the current character is an unquoted $ or `, the shell shall identify the start of any candidates for parameter expansion, command substitution, or arithmetic expansion from their introductory unquoted character sequences: $ or ${, $( or `, and $((, respectively. The shell shall read sufficient input to determine the end of the unit to be expanded. While processing the characters, if instances of expansions or quoting are found nested within the substitution, the shell shall recursively process them in the manner specified for the construct that is found. The characters found from the beginning of the substitution to its end, allowing for any recursion necessary to recognize embedded constructs, shall be included unmodified in the result token, including any embedded or enclosing substitution operators or quotes. The token shall not be delimited by the end of the substitution.




                    So, if $ does not form an expansion, other parsing rules come into effect:




                    If the previous character was part of a word, the current character shall be appended to that word.




                    That covers your ab$ string.



                    In the case of a lone $ (the "new word" would be the $ by itself):




                    The current character is used as the start of a new word.




                    The meaning of the generated word containing a $ that is not a standard expansion is explicitly defined as unspecified by POSIX.



                    Also note that $ is the last character in $$, but that this also happens to be the variable that holds the current shell's PID. In bash, !$ may invoke a history expansion (the last argument af the previous command). So in general, no, $ is not without meaning at the end of an unquoted word, but at the end of a word it does at least not denote a standard expansion.






                    share|improve this answer























                    • More to the point from this line of reasoning, since this step doesn't apply, either step 8 ("If the previous character was part of a word, the current character shall be appended to that word.") or step 10 ("The current character is used as the start of a new word.") must do. I think the word expansions section quoted by Isaac contrarily makes it unspecified, though, even if it perhaps didn't mean to.
                      – Michael Homer
                      1 hour ago












                    • @Isaac I deleted the parenthesis that I'm assuming you're referring to.
                      – Kusalananda
                      1 hour ago










                    • @Isaac Ah, I see. I thought "left unspecified" would mean the same as "defined as unspecified", but I could definitely make that wording better.
                      – Kusalananda
                      46 mins ago










                    • It seems reasonable that In the case of a lone $ (the "new word" would be the $ by itself): and that is what has been generally implemented, but what sounds reasonable and what the spec states don't always match. What the spec clearly states is: "not followed by (…)", and a trailing $ character is "not followed by (…)". So, it is explicitly unspecified.
                      – Isaac
                      32 mins ago












                    • @Isaac Yes. This is what I say. The section I'm quoting is on token recognition. The lone $ is recognised as a word token. It is not recognised as an expansion. The meaning of that lone $ word, i.e. the action that the shell takes, is unspecified. This is what I say.
                      – Kusalananda
                      26 mins ago
















                    2












                    2








                    2






                    $ does not have a special meaning by itself (try echo $), only when combined with other character after it and forming an expansion, e.g. $var (or ${var}), $(util), $((1+2)).



                    The $ gets its "special" meaning as defining an expansion in the POSIX standard under the section Token Recognition:




                    If the current character is an unquoted $ or `, the shell shall identify the start of any candidates for parameter expansion, command substitution, or arithmetic expansion from their introductory unquoted character sequences: $ or ${, $( or `, and $((, respectively. The shell shall read sufficient input to determine the end of the unit to be expanded. While processing the characters, if instances of expansions or quoting are found nested within the substitution, the shell shall recursively process them in the manner specified for the construct that is found. The characters found from the beginning of the substitution to its end, allowing for any recursion necessary to recognize embedded constructs, shall be included unmodified in the result token, including any embedded or enclosing substitution operators or quotes. The token shall not be delimited by the end of the substitution.




                    So, if $ does not form an expansion, other parsing rules come into effect:




                    If the previous character was part of a word, the current character shall be appended to that word.




                    That covers your ab$ string.



                    In the case of a lone $ (the "new word" would be the $ by itself):




                    The current character is used as the start of a new word.




                    The meaning of the generated word containing a $ that is not a standard expansion is explicitly defined as unspecified by POSIX.



                    Also note that $ is the last character in $$, but that this also happens to be the variable that holds the current shell's PID. In bash, !$ may invoke a history expansion (the last argument af the previous command). So in general, no, $ is not without meaning at the end of an unquoted word, but at the end of a word it does at least not denote a standard expansion.






                    share|improve this answer














                    $ does not have a special meaning by itself (try echo $), only when combined with other character after it and forming an expansion, e.g. $var (or ${var}), $(util), $((1+2)).



                    The $ gets its "special" meaning as defining an expansion in the POSIX standard under the section Token Recognition:




                    If the current character is an unquoted $ or `, the shell shall identify the start of any candidates for parameter expansion, command substitution, or arithmetic expansion from their introductory unquoted character sequences: $ or ${, $( or `, and $((, respectively. The shell shall read sufficient input to determine the end of the unit to be expanded. While processing the characters, if instances of expansions or quoting are found nested within the substitution, the shell shall recursively process them in the manner specified for the construct that is found. The characters found from the beginning of the substitution to its end, allowing for any recursion necessary to recognize embedded constructs, shall be included unmodified in the result token, including any embedded or enclosing substitution operators or quotes. The token shall not be delimited by the end of the substitution.




                    So, if $ does not form an expansion, other parsing rules come into effect:




                    If the previous character was part of a word, the current character shall be appended to that word.




                    That covers your ab$ string.



                    In the case of a lone $ (the "new word" would be the $ by itself):




                    The current character is used as the start of a new word.




                    The meaning of the generated word containing a $ that is not a standard expansion is explicitly defined as unspecified by POSIX.



                    Also note that $ is the last character in $$, but that this also happens to be the variable that holds the current shell's PID. In bash, !$ may invoke a history expansion (the last argument af the previous command). So in general, no, $ is not without meaning at the end of an unquoted word, but at the end of a word it does at least not denote a standard expansion.







                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited 45 mins ago

























                    answered 1 hour ago









                    Kusalananda

                    122k16230375




                    122k16230375












                    • More to the point from this line of reasoning, since this step doesn't apply, either step 8 ("If the previous character was part of a word, the current character shall be appended to that word.") or step 10 ("The current character is used as the start of a new word.") must do. I think the word expansions section quoted by Isaac contrarily makes it unspecified, though, even if it perhaps didn't mean to.
                      – Michael Homer
                      1 hour ago












                    • @Isaac I deleted the parenthesis that I'm assuming you're referring to.
                      – Kusalananda
                      1 hour ago










                    • @Isaac Ah, I see. I thought "left unspecified" would mean the same as "defined as unspecified", but I could definitely make that wording better.
                      – Kusalananda
                      46 mins ago










                    • It seems reasonable that In the case of a lone $ (the "new word" would be the $ by itself): and that is what has been generally implemented, but what sounds reasonable and what the spec states don't always match. What the spec clearly states is: "not followed by (…)", and a trailing $ character is "not followed by (…)". So, it is explicitly unspecified.
                      – Isaac
                      32 mins ago












                    • @Isaac Yes. This is what I say. The section I'm quoting is on token recognition. The lone $ is recognised as a word token. It is not recognised as an expansion. The meaning of that lone $ word, i.e. the action that the shell takes, is unspecified. This is what I say.
                      – Kusalananda
                      26 mins ago




















                    • More to the point from this line of reasoning, since this step doesn't apply, either step 8 ("If the previous character was part of a word, the current character shall be appended to that word.") or step 10 ("The current character is used as the start of a new word.") must do. I think the word expansions section quoted by Isaac contrarily makes it unspecified, though, even if it perhaps didn't mean to.
                      – Michael Homer
                      1 hour ago












                    • @Isaac I deleted the parenthesis that I'm assuming you're referring to.
                      – Kusalananda
                      1 hour ago










                    • @Isaac Ah, I see. I thought "left unspecified" would mean the same as "defined as unspecified", but I could definitely make that wording better.
                      – Kusalananda
                      46 mins ago










                    • It seems reasonable that In the case of a lone $ (the "new word" would be the $ by itself): and that is what has been generally implemented, but what sounds reasonable and what the spec states don't always match. What the spec clearly states is: "not followed by (…)", and a trailing $ character is "not followed by (…)". So, it is explicitly unspecified.
                      – Isaac
                      32 mins ago












                    • @Isaac Yes. This is what I say. The section I'm quoting is on token recognition. The lone $ is recognised as a word token. It is not recognised as an expansion. The meaning of that lone $ word, i.e. the action that the shell takes, is unspecified. This is what I say.
                      – Kusalananda
                      26 mins ago


















                    More to the point from this line of reasoning, since this step doesn't apply, either step 8 ("If the previous character was part of a word, the current character shall be appended to that word.") or step 10 ("The current character is used as the start of a new word.") must do. I think the word expansions section quoted by Isaac contrarily makes it unspecified, though, even if it perhaps didn't mean to.
                    – Michael Homer
                    1 hour ago






                    More to the point from this line of reasoning, since this step doesn't apply, either step 8 ("If the previous character was part of a word, the current character shall be appended to that word.") or step 10 ("The current character is used as the start of a new word.") must do. I think the word expansions section quoted by Isaac contrarily makes it unspecified, though, even if it perhaps didn't mean to.
                    – Michael Homer
                    1 hour ago














                    @Isaac I deleted the parenthesis that I'm assuming you're referring to.
                    – Kusalananda
                    1 hour ago




                    @Isaac I deleted the parenthesis that I'm assuming you're referring to.
                    – Kusalananda
                    1 hour ago












                    @Isaac Ah, I see. I thought "left unspecified" would mean the same as "defined as unspecified", but I could definitely make that wording better.
                    – Kusalananda
                    46 mins ago




                    @Isaac Ah, I see. I thought "left unspecified" would mean the same as "defined as unspecified", but I could definitely make that wording better.
                    – Kusalananda
                    46 mins ago












                    It seems reasonable that In the case of a lone $ (the "new word" would be the $ by itself): and that is what has been generally implemented, but what sounds reasonable and what the spec states don't always match. What the spec clearly states is: "not followed by (…)", and a trailing $ character is "not followed by (…)". So, it is explicitly unspecified.
                    – Isaac
                    32 mins ago






                    It seems reasonable that In the case of a lone $ (the "new word" would be the $ by itself): and that is what has been generally implemented, but what sounds reasonable and what the spec states don't always match. What the spec clearly states is: "not followed by (…)", and a trailing $ character is "not followed by (…)". So, it is explicitly unspecified.
                    – Isaac
                    32 mins ago














                    @Isaac Yes. This is what I say. The section I'm quoting is on token recognition. The lone $ is recognised as a word token. It is not recognised as an expansion. The meaning of that lone $ word, i.e. the action that the shell takes, is unspecified. This is what I say.
                    – Kusalananda
                    26 mins ago






                    @Isaac Yes. This is what I say. The section I'm quoting is on token recognition. The lone $ is recognised as a word token. It is not recognised as an expansion. The meaning of that lone $ word, i.e. the action that the shell takes, is unspecified. This is what I say.
                    – Kusalananda
                    26 mins ago




















                    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%2f492397%2fposix-shell-does-lose-its-special-meaning-if-it-is-the-last-character-in-a%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

                    Understanding the information contained in the Deep Space Network XML data?

                    Ross-on-Wye

                    Eastern Orthodox Church