|
Perl: Run perl script in het huidige proces
Ik heb een vraag over stromend perl in het huidige proces.
Ik zal aantonen met een voorbeeld.
Kijk hier eens naar.
Code:
sh-2.05b$ pwd
/tmp
sh-2.05b$ cat test.sh
#! /bin/sh
cd /etc
sh-2.05b$ ./test.sh
sh-2.05b$ pwd
/tmp
sh-2.05b$ . ./test.sh
sh-2.05b$ pwd
/etc
sh-2.05b$
Dus inroepen . / test.sh spawns een sub-shell en loopt het script. Overwegende dat . . / test.sh het script in de huidige shell.
Nu, hoe kan ik de simulatie van de laatste probleem met een perl script. Ik probeerde de volgende, maar het hielp niet.
Code:
sh-2.05b$ pwd
/tmp
sh-2.05b$ cat test.pl
#! /usr/bin/perl
chdir("/etc");
sh-2.05b$ ./test.pl
sh-2.05b$ pwd
/tmp
sh-2.05b$ . ./test.pl
sh: ./test.pl: line 2: syntax error near unexpected token `"/tmp"'
sh: ./test.pl: line 2: `chdir("/tmp");'
sh-2.05b$
Is er een andere manier van de exploitatie van het script om ervoor te zorgen dat de wijzigingen die door het script is van invloed op het huidige proces?
Bedankt,
Vino
|