Hallo, ich habe mich wohl etwas im Systemgestrüpp verirrt :-)) und eine generelle Frage: run ist ein Zweizeiler mit folg. Inhalt: #!/bin/bash ./squid-log-analyser.pl > squidlog.htm und es liegt im Verzeichnis /usr/local/httpd/htdocs/proxy-log/ Rufe ich es als su von der Konsole auf, /usr/local/httpd/htdocs/proxy-log/run gibt es eine Fehlermeldung, wechsele ich aber ins Verzeichnis cd /usr/local/httpd/htdocs/proxy-log/ und rufe ./run auf, dann funzt es. Ist es nicht egal, ob ich das script mit Pfad von / aus aufrufe oder aus dem Verzeichnis heraus, da das Perlscript u. die htm-Datei im gleichen Verzeichnis liegen? Ich habe schon den kompl. Pfad eingegeben, mit gleichem Ergebnis. </ratlos> Ich möcht's nämlich gern von cron ausführen lassen, nur fehlt mir jetzt der Ansatz, wie weiter ;-( Danke und viele Grüsse, Herbert
Am Dienstag, 18. Dezember 2001 15:30 schrieb Herbert Schrader:
Hallo, ich habe mich wohl etwas im Systemgestrüpp verirrt :-)) und eine generelle Frage: run ist ein Zweizeiler mit folg. Inhalt: #!/bin/bash ./squid-log-analyser.pl > squidlog.htm ^^ Hier ist Dein Problem. eventuell auch in der Zieldatei.
und es liegt im Verzeichnis /usr/local/httpd/htdocs/proxy-log/ Rufe ich es als su von der Konsole auf, /usr/local/httpd/htdocs/proxy-log/run gibt es eine Fehlermeldung, wechsele ich aber ins Verzeichnis Welche Fehlermeldung? Etwa command not found ?? Du rufst in der Shell ein Programm auf, das er nicht findet, weil er es im aktuellen Verzeichnis sucht. im 1. Fall also /
Lösungsansatz: Im Script einen absoluten Pfand angeben: /usr/local/httpd/htdocs/proxy-log/squid-log-analyser.pl > /usr/local/httpd/htdocs/proxy-log/squidlog.htm
cd /usr/local/httpd/htdocs/proxy-log/ und rufe ./run auf, dann funzt es. Ist es nicht egal, ob ich das script mit Pfad von / aus aufrufe oder aus dem Verzeichnis heraus, da das Perlscript u. die htm-Datei im gleichen Verzeichnis liegen? Ich habe schon den kompl. Pfad eingegeben, mit gleichem Ergebnis. </ratlos> Ich möcht's nämlich gern von cron ausführen lassen, nur fehlt mir jetzt der Ansatz, wie weiter ;-(
Danke und viele Grüsse, Herbert Ciao Michael
Herbert Schrader wrote:
Hallo, ich habe mich wohl etwas im Systemgestrüpp verirrt :-)) und eine generelle Frage: run ist ein Zweizeiler mit folg. Inhalt: #!/bin/bash ./squid-log-analyser.pl > squidlog.htm und es liegt im Verzeichnis /usr/local/httpd/htdocs/proxy-log/
versuch mal #!/bin/bash /usr/local/httpd/htdocs/proxy-log/squid-log-analyzer.pl > \ /usr/local/httpd/htdocs/proxy-log/squidlog.htm Anm.: \ bedeutet dass die Zeile eigentlich weitergeht aber der Lesbarkeit halber umgebrochen wurde. gruss -fen
Am Die, 18 Dez 2001 schrieb Herbert Schrader:
Hallo, ich habe mich wohl etwas im Systemgestrüpp verirrt :-)) und eine generelle Frage: run ist ein Zweizeiler mit folg. Inhalt: #!/bin/bash ./squid-log-analyser.pl > squidlog.htm und es liegt im Verzeichnis /usr/local/httpd/htdocs/proxy-log/ Rufe ich es als su von der Konsole auf, /usr/local/httpd/htdocs/proxy-log/run gibt es eine Fehlermeldung, wechsele ich aber ins Verzeichnis cd /usr/local/httpd/htdocs/proxy-log/ und rufe ./run auf, dann funzt es.
Logisch, denn das Skript sucht squid-log-analyser.pl im aufrufenden Verzeichnis (./). Wechsele in Deinem Skript vorher mit cd nach in das proxy-log-Verzeichnis. Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
* Herbert Schrader schrieb am 18.Dez.2001:
ich habe mich wohl etwas im Systemgestrüpp verirrt :-)) und eine generelle Frage: run ist ein Zweizeiler mit folg. Inhalt: #!/bin/bash ./squid-log-analyser.pl > squidlog.htm und es liegt im Verzeichnis /usr/local/httpd/htdocs/proxy-log/ Rufe ich es als su von der Konsole auf, /usr/local/httpd/htdocs/proxy-log/run gibt es eine Fehlermeldung, wechsele ich aber ins Verzeichnis cd /usr/local/httpd/htdocs/proxy-log/ und rufe ./run auf, dann funzt es. Ist es nicht egal, ob ich das script mit Pfad von / aus aufrufe oder aus dem Verzeichnis heraus, da das Perlscript u. die htm-Datei im gleichen Verzeichnis liegen?
In welchem Verzeichnis ein Skript oder auch Programm liegt, ist egal, das Arbeitsverzeichniß ändert sich nicht, sondern bleibt so wie es ist. Es sei denn es wird explizit mit cd gewechselt. Geb mal in einem Skript den Befehl pwd. Der gibt das Arbeitsverzeichnis aus, und rufe das Skript von verschiedenen Stellen aus auf. Du wirst sehen, es wird immer das Verzeichniß angegeben von dem Du aus das Skript aufrufst, egal wo das Skript sich befindet.
Ich habe schon den kompl. Pfad eingegeben, mit gleichem Ergebnis.
Aber nicht im Skript.
Ich möcht's nämlich gern von cron ausführen lassen, nur fehlt mir jetzt der Ansatz, wie weiter ;-(
Bei cron sollte man sowieso möglichst den vollen Pfad angeben, da der Pfad von cron sehr eingeschränkt ist. Lediglich bei grundlegenden Funktionen wie rm ist dies nicht notwendig. Bernd -- Homepages von deutschsprachigen Linux-Gurus: Kristian Köhntopp: http://www.koehntopp.de/kris/artikel/ Sven Guckes: http://www.math.fu-berlin.de/~guckes/sven Robin S Socha: http://socha.net/index2.html |Zufallssignatur 10
* Herbert Schrader schrieb am 18.12.01 um 15:30 Uhr:
Hallo, ich habe mich wohl etwas im Systemgestrüpp verirrt :-)) und eine generelle Frage: run ist ein Zweizeiler mit folg. Inhalt: #!/bin/bash ./squid-log-analyser.pl > squidlog.htm und es liegt im Verzeichnis /usr/local/httpd/htdocs/proxy-log/ Rufe ich es als su von der Konsole auf, /usr/local/httpd/htdocs/proxy-log/run gibt es eine Fehlermeldung, wechsele ich aber ins Verzeichnis cd /usr/local/httpd/htdocs/proxy-log/ und rufe ./run auf, dann funzt es. Ist es nicht egal, ob ich das script mit Pfad von / aus aufrufe oder aus dem Verzeichnis heraus, da das Perlscript u. die htm-Datei im gleichen Verzeichnis liegen?
nein, das ist nicht egal. Wenn du das Script von / aus aufrufst, muss squid-log-analyser.pl in / liegen. Wenn du im Script den absoluten Pfad angibst muss es funktionieren. DU koenntest zum Beispiel das cd /usr/local/httpd/htdocs/proxy-log/ in das Script einbauen. -Marc -- +------------------------------------------------------------------+ | --> http://www.links2linux.de <-- Jetzt mit neuen Features! | | wie z.B. [EasyLink] | +---Registered-Linux-User-#136487------------http://counter.li.org +
participants (6)
-
B.Brodesser@t-online.de
-
Christoph Maurer
-
Daniel Brachmann
-
Herbert Schrader
-
Marc Schiffbauer
-
Michael Ziegler