Thread Remote Shell Variablen
(11 answers)
Opened by audacity363 at 2013-10-02 08:26
So in etwa sollte Dein Programm aussehen, dass es funktioniert:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 my $abfrage = qq~ rsh $ARGV[0] " export SEMAPHOREN_PATH=$remote_sem_path env | grep SEMA $net_post_path/netposts $ARGV[1] ls -lisa \\\$SEMAPHOREN_PATH ipcs -s -a " ~; printf "Execute [%s]\n", $abfrage; my $result = `$abfrage`; print $result;´ Nun kommt dennoch ein doppeltes Escaping ins Spiel, das liegt allerdings an rsh. Der erste \ escapet den zweiten und der dritte das $. So dass an Deinen syscall effektiv \$SEMAPHOREN_PATH übergeben wird. Deine Shell wiederum weiß dadurch, dass sie die Variable nicht interpolieren darf und gibt dann $SEMAPHOREN_PATH an die entfernte Shell weiter. Alles etwas gewöhnungsbedürftig, aber man wächst rein :-) Evtl. wäre auch eines der Net::SSH Module etwas für Dich, aber auch die haben ihre Tücken... |