GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exécuter une commande Linux bash dans un script PERL ?

Un administrateur système doit écrire de nombreux scripts pour surveiller et maintenir les systèmes. Pendant le script, vous devrez parfois faire référence à quelques commandes bash natives en perl. Ici, je vais vous montrer comment appeler ces commandes natives dans des scripts perl :

Étape 1 :Créer une sous-routine qui prend la commande, s'exécute et renvoie la sortie .

sub runcmd {
           local($cmd) = @_;
           alarm $timeout;
           $childkilled = 0;
           $childpid = open(CMD, "exec $cmd 2>&1 |");
           return "failed to run \"$cmd\"\n" if (!defined($childpid));
           local(@output) = ;
           local($output) = join("\n", @output);
           alarm 0;
           close(CMD);
           $output = $timeout_msg if ($childkilled);
           return $output;
}

Étape 2 :Créez une autre sous-routine pour exécuter la commande réelle

#Get Date When script is started running
sub getDate() {
              local($command)="date";
              local($out)=&runcmd($command);
              $logout=$logout." Cron Started At :".$out."\n";
}

Etape 3 :Appelez le sous-programme comme ci-dessous :

&getDate();

Étape 4 :Redirigez la commande de sortie de date vers un fichier à l'aide de la commande ci-dessous :

open (LOG, ">>/var/log/logfile") || die "can't open logfile\n";
print LOG "$logout\n";
close (LOG) || die;

Télécharger le script PERL complet


Linux
  1. Comment utiliser un mot de passe crypté dans le script Linux Bash Shell

  2. Comment déboguer un script bash ?

  3. Linux - Comment exécuter un script sur le verrouillage/déverrouillage de l'écran ?

  4. Comment exécuter un script ? ?

  5. Comment exécuter à plusieurs reprises un script bash toutes les N secondes ?

Comment exécuter des commandes particulières sans mot de passe Sudo sous Linux

Comment exécuter les commandes de fichier .sh tout en une fois sous Linux

Comment exécuter plusieurs commandes Linux en une seule commande

Comment exécuter un script Shell en tant que service SystemD sous Linux

Comment exécuter un script bash

Comment exécuter plusieurs commandes Linux à la fois dans le terminal Linux