Thread $0 und chmod: "Set user ID"-Bit (19 answers)
Opened by docsnyder at 2006-06-09 12:59

docsnyder
 2006-06-09 12:59
#67166 #67166
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo!

Ich führe ein Perl-Script unter UNIX mit der Berechtigung

Code: (dl )
-rws--x--x

aus ("Set user ID"-Bit gesetzt).

Wenn ich $0 (Script-Name) ausgebe, bekomme ich folgendes:

Code: (dl )
/dev/fd/4

Wenn ich das "Set user ID"-Bit nicht setze, wird (wie erwartet) der Script-Name ausgegeben.

Herausgefunden habe ich inzwischen folgendes:

Quote
> what's /dev/fd/4??

That's a temporary name for the interpreter of a script.

Mit dem Interpreter hat $0 eigentlich nichts zu tun, denn der sollte in $^X stehen und in $0 der "Script"-Name.

Und noch was: führe ich das Script mit

Code: (dl )
$ perl <script>

aus, anstatt mit

Code: (dl )
$ <script>

wird statt /dev/fd/4 tatasächlich der Script-Name ausgegeben.

Kann mir jemand sagen, was hier passiert???

Gruß, Doc\n\n

<!--EDIT|docsnyder|1149846759-->

View full thread $0 und chmod: "Set user ID"-Bit