Nejc Škoberne wrote:
Zdravo.
Rad bi iz skripte poganjal zunanje programe takole:
my $cmd = "$tar -c --use-compress-program=$gzip -f $TempDir/fileName.tar.gz $exclude $list 1> /dev/null";
my $err = `$cmd`;
Zal se to ne izvede pravilno, javi, da tar ne bo naredil praznega arhiva. Ce naredim print $cmd, dobim to:
/usr/bin/gtar -c --use-compress-program=/usr/bin/gzip -f /tmp/backup.Feb-9_18-36.tar.gz /home/samba/backup
kar izgleda cisto OK - ce to copy/pastam in probam na roko pognat, se stvar zgodi
brez problemov. V cem je torej catch? Kako sploh tako stvar debuggat?
Ali se ta zadeva mogoce zaganja v kakem CGIju? Ali kako drugace pod drugim userjem, kot jo zaganjas ti?
Ce se ne, pozeni skripto v debuggerju (perl -d ime skripte), naredi breakpoint pri tej vrstici, pozeni program,
da pride do nje, potem pa poskusi
x $cmd
x `$cmd`
pa bos videl, ce je res vse tako, kot pricakujes.
Mimogrede, ali ima tvoj $list mogoce v sebi kaksen \n? (glede na to, da v tvojem izpisku $cmd ne vidim dela 1>....)
_______________________________________________ lugos-prog mailing list [email protected] http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-prog
