Thread Linux commands aus Perl
(15 answers)
Opened by lordy at 2013-04-23 15:16
module ist eine eigens definierte Funktion in der Shell.
Zuerst führt diese Funktion das Kommando /opt/modules/3.2.6.7/bin/modulecmd bash $* aus; $* wird dabei ersetzt durch die übergebenene Argumente. Die Ausgabe, die davon generiert wird, wird anschließend durch das eval hergenommen und als Kommando ausgeführt. Dabei werden diverse Umgebungsvariablen gesetzt und dann am Ende müsste dannnoch ein Kommandoaufruf stehen. Schnellschuß: Du könntest den Inhalt der Funktion in ein Shell-Skript packen und dieses ausführbar machen und aus dem Perl-Skript heraus aufrufen. Ich vermute, dass es um die Bash geht, daher baue ich darauf auf: module.sh: Lege diese "module.sh" im Dateisystem ab und rufe es dann aus dem Perl-Skript heraus auf: Code (perl): (dl
)
1 2 3 4 5 6 7 my @cmd = ( '/path/to/module.sh', 'add', 'modulename', ); system( @cmd ) == 0 or die "Could not execute '@cmd': $!\n"; meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |