Spea Geschrieben 24. Februar 2003 Teilen Geschrieben 24. Februar 2003 hi, ich hab mir ein perl script geschrieben dass in einer for schleife den befehl chown für jeden kunden ausführen soll. leider funktioniert das ganze nicht so wie ich will, hab anscheinen irgendwo einen denkfehler. hier mal das script: #!/usr/bin/perl $e = 0; $z = 0; $d = -1; for ($i = 1; $i <= 189; $i++) { $d = $d + 1; $cmd = 'chown -R ros$e$z$d:ava ros$e$z$d'; system($cmd); if ($d >= 9 ) { $d = -1; $z = $z + 1; } if ($z >= 9) { $z = 0; $e = $e + 1; } } er sagt dann immer: chown: ros:ava: invalid user schonmal thx Spea Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.disk Geschrieben 24. Februar 2003 Teilen Geschrieben 24. Februar 2003 Mit $d = -1 meinst Du ja sicherlich keine negative Zahl sondern den String 'Bindestrich Eins'. Dann müßte es $d = '-1' heißen... Edit: Ooops. Hab gerade gesehen, daß das egal ist. Ich such mal weiter, vielleicht finde ich ja noch was anderes. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 24. Februar 2003 Teilen Geschrieben 24. Februar 2003 $cmd = 'chown -R ros$e$z$d:ava ros$e$z$d'; versuchs mal so: $cmd = "chown -R ros".$e.$z.$d.":ava ros".$e.$z.$d; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Spea Geschrieben 24. Februar 2003 Autor Teilen Geschrieben 24. Februar 2003 thx, klappt jetzt wunderbar Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.disk Geschrieben 24. Februar 2003 Teilen Geschrieben 24. Februar 2003 Mal sehen ob ich's richtig verstanden habe: Ihr habt Kunden mit einer fortlaufenden Nummer von 1 bis 189. Dein größtes Problem war wohl die führende Null bei der Kundennummer, also 001 für den ersten Kunden. Richtig? Wie wär's dann mit folgender Lösung: map { system(sprintf('chown -R %03dros:ava %03dros', $_, $_)) } 1..189; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Spea Geschrieben 24. Februar 2003 Autor Teilen Geschrieben 24. Februar 2003 Originally posted by dr.disk Mal sehen ob ich's richtig verstanden habe: Ihr habt Kunden mit einer fortlaufenden Nummer von 1 bis 189. Dein größtes Problem war wohl die führende Null bei der Kundennummer, also 001 für den ersten Kunden. Richtig? Wie wär's dann mit folgender Lösung: map { system(sprintf('chown -R %03dros:ava %03dros', $_, $_)) } 1..189; nope, das war nicht mein problem, wenn du das script genau anschaust, siehst du dass ich diese problem selbst gelöst habe. mein problem war dass ich die variablenübergabe falsch angegeben habe. aber trotzdem thx für deine hilfe so far Spea Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.