PID einer aufgerufenen Funktion in der bash
Florian Lohoff
f at zz.de
Mon Apr 5 16:06:16 CEST 2010
On Mon, Apr 05, 2010 at 02:24:22AM +0200, Frank Bergmann wrote:
> In Sun, 4 Apr 2010, Florian Lohoff cum veritate scripsit :
>
> > Aeh? I dont get it - $$ ist POSIX - D.h. das geht in jeder shell
> > die in irgendeiner weise meint POSIX kompatibel zu sein - was sonst?
>
> Klar, aber das gehoert eigentlich nicht geparsed, wenn eine Shell eine
> Subshell aufruft. Das '$$' sollte eben "durchgereicht" werden - IMHO.
> Dann stellte sich fuer mich die Frage, ob das Verhalten abhaengig vom
> Modus (z.B. interaktiv + monitor oder batch) ist.
> Ist es nicht, das habe ich jetzt getestet. Also lehn Dich entspannt
> zurueck: Es ist wohl Absicht, dass das erste $-Zeichen escaped werden
> muss, wie Du es vorgeschlagen hast. :-)
Also - Alles was $ ist ist fuer die shell eine variable und wird
wenn du eine zeile reingibts als allererstes expanded - Wenn du also
blah ; ( blubb $foo ) &
machst ist das ein statement fuer die parent shell und diese expanded
das alles - das wird soweit ziemlich posix sein - Denn im endeffekt koennte
ja $foo auch signifikant das verhalten veraendern ... Beispiel:
# foo=") ; ( echo done"
# sh -c "( echo test $foo )"
test
done
D.h. variable expansion ist extrem wichtig fuer das verhalten der shell und
das ein ( ... ) _EINE_ subshell ist ist ueberhaupt nicht gesagt - siehe oben.
Also muss ich der shell explizit sagen das sie zum zeitpunkt t1 bitte _diese_
variable nicht expanded - sondern als string an die subshell weitergibt
um dort dann ggfs expanded zu werden ...
Es ist absicht und zwingend notwendig das alle variablen in dem statement
expanded werden. Nicht umsonst widmet sich die bash manpage dem Thema
EXPANSION in einem nicht unerheblich langen Kapitel.
Flo
--
Florian Lohoff f at zz.de
"Es ist ein grobes Missverständnis und eine Fehlwahrnehmung, dem Staat
im Internet Zensur- und Überwachungsabsichten zu unterstellen."
- - Bundesminister Dr. Wolfgang Schäuble -- 10. Juli in Berlin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 827 bytes
Desc: Digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20100405/8dcfa182/attachment.sig>
More information about the Linux
mailing list