GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie führe ich Linux-Bash-Befehle in einem PERL-Skript aus?

Ein Systemadministrator muss viele Skripte schreiben, um Systeme zu überwachen und zu warten. Während der Skripterstellung müssen Sie manchmal auf einige native Bash-Befehle in Perl verweisen. Hier zeige ich Ihnen, wie Sie diese nativen Befehle in Perl-Skripten aufrufen:

Schritt 1 :Erstellen Sie eine Unterroutine, die den Befehl übernimmt, ausführt und die Ausgabe zurückgibt .

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;
}
zurück

Schritt 2:Erstellen Sie eine weitere Subroutine, um den aktuellen Befehl auszuführen

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

Schritt 3:Rufen Sie die Subroutine wie folgt auf:

&getDate();

Schritt 4:Leiten Sie den Datumsausgabebefehl mit dem folgenden Befehl in eine Datei um:

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

Laden Sie das vollständige PERL-Skript herunter


Linux
  1. So verwenden Sie ein verschlüsseltes Passwort in einem Linux-Bash-Shell-Skript

  2. Wie debuggt man ein Bash-Skript?

  3. Wie man ein Skript ausführt??

  4. Wie führe ich ein Skript im Hintergrund aus (Linux OpenWRT)?

  5. Wie führe ich ein Bash-Skript über einen absoluten Pfad aus?

So führen Sie bestimmte Befehle ohne Sudo-Passwort in Linux aus

So führen Sie .sh-Dateibefehle auf einmal in Linux aus

So führen Sie mehrere Linux-Befehle in einem einzigen Befehl aus

So führen Sie Shell-Skript als SystemD-Dienst in Linux aus

So führen Sie ein Bash-Skript aus

So führen Sie mehrere Linux-Befehle gleichzeitig im Linux-Terminal aus