In the comments to the accepted answer to this Unix & Linux StackExchange question, it is stated that $_ is "one of only some 7 special parameters defined by POSIX". I can't find that definition although I can find eight other special parameters defined by POSIX and I've seen $_ defined in the ksh and bash man pages. Can someone point me to the definition in POSIX?

  • 1
    Neither the question you link to nor its answers claim that $_ is POSIX. – terdon May 13 '14 at 22:58
  • 4
    @terdon It's a comment by mikeserv. He's wrong. – Gilles 'SO- stop being evil' May 13 '14 at 23:55
  • @terdon I've updated my question to clarify where that statement is in the question. – jrw32982 May 14 '14 at 2:20

The only reference I can find to the special parameter $_ in POSIX is in the rationale section on Shell Variables. This excerpt implies that it was used by a variety of shells, but not in a standard way by all and was omitted intentionally:


(Underscore.) While underscore is historical practice, its overloaded usage in the KornShell is confusing, and it has been omitted from the Shell and Utilities volume of IEEE Std 1003.1-2001.

So it may be used by most or all POSIX-conforming shells, but it is decidedly not defined by POSIX.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.