Ich habe - wahrscheinlich im Usenet Mitte der neunziger Jahre (!) - das Konstrukt aufgegriffen
export var=value
ist ein Bashismus, und das ist der tragbare Ausdruck
var=value
export var
Ich befürworte dies seit Jahren, aber kürzlich hat mich jemand dazu herausgefordert, und ich kann wirklich keine Dokumentation finden, die meine früheren festen Überzeugungen bestätigt.
Googeln für "export: command not found"
scheint keine Fälle , in denen tatsächlich jemand dieses Problem hatte. Selbst wenn es echt ist, ist es nicht sehr häufig.
(Die Treffer, die ich bekomme, scheinen Neulinge zu sein, die Interpunktion kopieren / einfügen und am Ende mit 'export: command not found
oder einigen solchen gelandet sind oder versuchen, export
mit zu verwenden sudo
; und Neulingcsh
versuchen, die Bourne-Shell-Syntax zu verwenden.)
Ich kann mit Sicherheit sagen, dass es unter OS X und unter verschiedenen Linux-Distributionen funktioniert, einschließlich derjenigen, in denen es sich sh
befindet dash
.
sh$ export var=value
sh$ echo "$var"
value
sh$ sh -c 'echo "$var"' # see that it really is exported
value
In der heutigen Welt kann man das mit Sicherheit sagen export var=value
es sicher ist, es zu benutzen?
Ich würde gerne verstehen, was die Konsequenzen sind. Wenn es nicht portabel zu Version 7 "Bourne classic" ist, ist das kaum mehr als eine Kleinigkeit. Wenn es Produktionssysteme gibt, in denen die Shell mit dieser Syntax wirklich nicht zurechtkommt, wäre es hilfreich, dies zu wissen.
busybox
mit einer eigenen minimalen Schale? (Ich bin nicht in der Lage, es in dieser Sekunde richtig zu versuchen.)