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, 2014 at 22:58
  • 4
    @terdon It's a comment by mikeserv. He's wrong. May 13, 2014 at 23:55
  • @terdon I've updated my question to clarify where that statement is in the question.
    – jrw32982
    May 14, 2014 at 2:20

1 Answer 1


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.

  • At least Debian dash, Busybox dash and mksh only set $_ when they are interactive. May 13, 2014 at 23:59

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.