Wo wird $ _ von POSIX definiert?

7

In den Kommentaren zur akzeptierten Antwort auf diese Unix & Linux StackExchange-Frage wird angegeben, dass dies $_"einer von nur 7 speziellen Parametern ist, die von POSIX definiert wurden". Ich kann diese Definition nicht finden, obwohl ich acht andere von POSIX definierte spezielle Parameter finden kann, die ich $_in den Manpages ksh und bash definiert habe . Kann mich jemand auf die Definition in POSIX verweisen?

jrw32982 unterstützt Monica
quelle
1
Weder die Frage, auf die Sie verlinken, noch ihre Antworten behaupten, dass $_es sich um POSIX handelt.
Terdon
4
@terdon Es ist ein Kommentar von mikeserv . Er hat Unrecht.
Gilles 'SO - hör auf böse zu sein'
@terdon Ich habe meine Frage aktualisiert, um zu verdeutlichen, wo sich diese Aussage in der Frage befindet.
jrw32982 unterstützt Monica

Antworten:

11

Der einzige Verweis, den ich auf den speziellen Parameter $_in POSIX finden kann, befindet sich im Abschnitt "Begründung" zu Shell-Variablen . Dieser Auszug impliziert, dass es von einer Vielzahl von Muscheln verwendet wurde, aber nicht von allen auf übliche Weise und absichtlich weggelassen wurde:

_

(Unterstrich.) Während Unterstrich eine historische Praxis ist, ist seine überladene Verwendung in der KornShell verwirrend und wurde im Shell and Utilities-Band von IEEE Std 1003.1-2001 weggelassen.

Daher kann es von den meisten oder allen POSIX-konformen Shells verwendet werden, wird jedoch von POSIX definitiv nicht definiert.

Mike Miller
quelle
Zumindest Debian Dash, Busybox Dash und MKSH werden nur festgelegt, $_wenn sie interaktiv sind.
Gilles 'SO - hör auf böse zu sein'