J'ai regardé autour, mais ne peut pas comprendre cela .. Je me suis dit comment faire une exécution perl d'un script shell, tels que:Perl, exécutant des commandes shell Linux multi-lignes, nécessite une authentification?
#!/usr/bin/perl
$cmd = "nautilus";
system $cmd;
Cependant, je veux faire un script shell exécution de Perl qui ferait quelque chose comme ça sur la ligne de commande:
su
$password
nautilus
il deviendrait racine, puis ouvrez le navigateur nautilus .. quand j'ai essayé cela en passant simplement chaque commande séparément, comme ci-dessous, il ne fonctionne pas .. Je vous serais reconnaissant de conseils quant à la façon de ce faire .. merci
$cmd = "su";
system $cmd;
$cmd = $password;
system $cmd;
$cmd = "nautilus";
system $cmd;
au lieu de ' 'commande' $ cmd =; system $ cmd' qui est moins lisible, vous pouvez simplement faire 'system 'command''. – fengshaun
Aussi, pourquoi ne demandez-vous pas à l'utilisateur d'exécuter votre script en tant que root? Et puis vérifiez-ness racine en vous script: 'if (' id de l'== 0) {print "nous sommes root"} ' – fengshaun
@fengshaun: Ceci est d'un script Perl, donc:' if ($> = = 0) ' – Gilles