noch ein unterschied zwischen den bourne-shells ...

30/09/2015 - 19:09 von Andreas Leitgeb | Report spam
Ich bin gerade mal wieder über einen (mir neuen) Verhaltensunterschied
zwischen verschiedenen shells der bourne-familie gestolpert...

Beispiel:
bash$ export foo=bar
bash$ sh # subshell mit solaris 10 /bin/sh
$ foo=snafu
$ echo $foo # --> snafu
$ env | grep foo # --> foo=bar (nicht snafu!)

Eine von aussen geerbte Variable scheint in den meisten shells
automatisch wieder wie "export"iert behandelt zu werden, nur in
der /bin/sh von solaris 10 (in 11 ist der bug(?) wohl behoben)
gibts dann eigene lokale variablen parallel zum environment.

Frage hab ich keine dazu (das Posting ist eher als "heads-up"
für sh-kompatibilitàt gemeint), aber falls wem was inter-
essantes dazu einfàllt: nur nicht zurückhalten ;)
 

Lesen sie die antworten

#1 Wolfgang Steger
30/09/2015 - 19:53 | Warnen spam
Andreas Leitgeb schrieb:
Ich bin gerade mal wieder über einen (mir neuen) Verhaltensunterschied
zwischen verschiedenen shells der bourne-familie gestolpert...

Beispiel:
bash$ export foo=bar
bash$ sh # subshell mit solaris 10 /bin/sh
$ foo=snafu
$ echo $foo # --> snafu
$ env | grep foo # --> foo=bar (nicht snafu!)

Eine von aussen geerbte Variable scheint in den meisten shells
automatisch wieder wie "export"iert behandelt zu werden, nur in
der /bin/sh von solaris 10 (in 11 ist der bug(?) wohl behoben)
gibts dann eigene lokale variablen parallel zum environment.



[...]
Unter Ubuntu 12.04 dasselbe, mit

lrwxrwxrwx 1 root root 4 Màr 29 2012 /bin/sh -> dash

Just my 2cc, Wolfgang

A father doesn't destroy his children.
stardate 3468.1.

Ähnliche fragen