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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .