|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
Fehler mit system
|
Seitenanfang |
Hallo, ich will mit Perl einen kleinen Shell Befehl ausführen, wenn ich das Shell Script in einer .sh ausführe funktioniert es auch wunderbar, wenn ich es aber in eine .pl einfüge innerhalb des befehls: system(" "); kommt ein Fehler.Ich will den Shellbefehl: ... for file in $(..... ausführen leider macht er aus "$(" einfach "1001 1001". Wie kann ich das verhindern? Vielen Dank! MfG heuri
Datum: 02.05.2006-19:37

|
re: Fehler mit system
|
Seitenanfang |
In dem du den String zwischen single quotes ' statt double quotes " setzt - dann wird dieser nicht interpoliert.
Datum: 02.05.2006-20:02

|
re: Fehler mit system
|
Seitenanfang |
Hallo, das " > ' ändern kommt leider auch nicht in Frage , da ich ja im Shell Script Variablen hereinlade (vom perl script), daher kann ich auch kein shell script außerhalb ausführen, gibt es keine Alternativen? Ich will beispielsweise folgendes machen ....for file in $(find blablabla...... einen find oder grep etc. befehl ausführen..... Ohne dem $ führt es aber nicht aus, ist vielleicht while die Lösung oder muss man da auch $( nehmen?Danke!
Datum: 03.05.2006-14:00

|
re: Fehler mit system
|
Seitenanfang |
| Hi, oder quote das $ einfach aus : "for \$ in blabla" Gruß Ralf
Datum: 03.05.2006-17:33

|
re: Fehler mit system
|
Seitenanfang |
Danke, aber leider wenn ich das ausquote ist ja das file von "for file " keine variable mehr :(.
Datum: 03.05.2006-18:21

|
re: Fehler mit system
|
Seitenanfang |
| Hi, unter Perl gibt die vordefinierte Variable $( die EGID (Effective Group ID) aus. Auf der bash startet $(command) eine Subshell und kehrt nach der Ausführung wieder in die aufrufende Shell zurück. Beschreibe mal genauer, was Du machen willst. Ansonsten hast Du aber auch die Möglichkeit, Deine Shellbefehle, in ein ShellScript zu packen und das in Perl dann aufzurufen. script.sh
for I in LISTE do mach irgendwas mit $I done
script.pl
system( "./script.sh" );
-uw
Datum: 02.05.2006-21:28

|
|

|

|

|
 |

|

|
|