systaxe fce system
David Olszyński
hisaak na mrkvoslav.ascs.muni.cz
Středa Únor 27 17:46:52 MET 2002
Pavel Reznicek wrote:
> $result=`/usr/bin/adduser $jmeno -g popusers -c $jmeno`;
> nezkousel jsem to, ale jsem presvedcen, ze to pojede.
> mozna ze ve vasi distribuci bude potreba potlacit nejakym prepinacem
> confirm otazky od prikazu adduser, ale to uz musite vyzkouset sam.
A muzu se zeptat, v cem je rozdil oproti volani system() s jednim
parametrem? Je to myslim totez, akorat temi zpetnymi uvozovkami navic
zachytite standardni vystup, ktery u useradd stejne nema smysl.
Ja si spise myslim, ze ty zpetne uvozovky vam starosti s uvozovkami a
apostrofy obecne pridelaji. Posudte sam:
$ touch 'ahoj vsichni!'
$ ls 'ahoj vsichni!'
ahoj vsichni!
$ perl
$file = 'ahoj vsichni!';
`ls $file`;
__END__
ls: ahoj: není souborem ani adresářem
ls: vsichni!: není souborem ani adresářem
Jak muzete videt, nedela to to, co by clovek mozna cekal. Oproti tomu
pouziti system() s vice parametry vam usetri problemy:
$ perl
$file = 'ahoj vsichni!';
system('ls', $file);
__END__
ahoj vsichni!
David Olszynski
Další informace o konferenci Perl