Hallo Liste, ich habe eine Frage zu einem Script von mir. es geht um diesen Teil hier, ich wollte der übersichtlichkeit hablber alles untereinenader zu schreiben und habe dazu die Geschwungene Klammer benutzt, dass es so ausgelesen wird als wäre alles hinter einander geschrieben. Nur geht es nicht. Führe ich dasScript aus bekomme ich folgened Fehlermeldung: ./stats_script.sh: line 43: syntax error near unexpected token `}' ./stats_script.sh: line 43: ` }' Schreibe ich alles hinter einander funktioniert alles einwandfrei. Was mache ich falsch? Script Auschnitt: /www/htdocs/stats/logresolvemerge.pl{ /srv/www/htdocs/stats/web1/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web1/ssl_request_log`date +%Y%m%d`.gz /srv/www/htdocs/stats/web2/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web2/ssl_request_log`date +%Y%m%d`.gz /srv/www/htdocs/stats/web3/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web3/ssl_request_log`date +%Y%m%d`.gz
/srv/www/htdocs/stats/access_log}
Mfg Christian
christian zimmermann schrieb:
Script Auschnitt:
/www/htdocs/stats/logresolvemerge.pl{
/srv/www/htdocs/stats/web1/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web1/ssl_request_log`date +%Y%m%d`.gz /srv/www/htdocs/stats/web2/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web2/ssl_request_log`date +%Y%m%d`.gz /srv/www/htdocs/stats/web3/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web3/ssl_request_log`date +%Y%m%d`.gz
/srv/www/htdocs/stats/access_log}
Habe zwar noch nicht all zu oft Perl-Scripte geschrieben, aber muss man eine Zeile nicht mit ; abschließen? -- Mit freundlichen Grüßen Montanhydraulik GmbH Michael Kuznik EDV Tel: +49(0)2301/916-122 Fax: +49(0)2301/916-136 www.montanhydraulik.com
hallo christian!
Script Auschnitt:
/www/htdocs/stats/logresolvemerge.pl{
/srv/www/htdocs/stats/web1/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web1/ssl_request_log`date +%Y%m%d`.gz /srv/www/htdocs/stats/web2/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web2/ssl_request_log`date +%Y%m%d`.gz /srv/www/htdocs/stats/web3/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web3/ssl_request_log`date +%Y%m%d`.gz
/srv/www/htdocs/stats/access_log}
Mfg Christian
wenn ichdich richtig verstehe brauchst du: /www/htdocs/stats/logresolvemerge.pl \ /srv/www/htdocs/stats/web1/access_log-`date +%Y%m%d`.gz \ /srv/www/htdocs/stats/web1/ssl_request_log`date +%Y%m%d`.gz \ /srv/www/htdocs/stats/web2/access_log-`date +%Y%m%d`.gz \ /srv/www/htdocs/stats/web2/ssl_request_log`date +%Y%m%d`.gz \ /srv/www/htdocs/stats/web3/access_log-`date +%Y%m%d`.gz \ /srv/www/htdocs/stats/web3/ssl_request_log`date +%Y%m%d`.gz \
/srv/www/htdocs/stats/access_log
mit dem backslash direkt vor dem newline, wird das newline entwertet (kein befehl-ende, sondern nur ein anderer whitespace) hope i could help d.
Dominik Schopper wrote:
hallo christian!
wenn ichdich richtig verstehe brauchst du:
/www/htdocs/stats/logresolvemerge.pl \ /srv/www/htdocs/stats/web1/access_log-`date +%Y%m%d`.gz \ /srv/www/htdocs/stats/web1/ssl_request_log`date +%Y%m%d`.gz \ /srv/www/htdocs/stats/web2/access_log-`date +%Y%m%d`.gz \ /srv/www/htdocs/stats/web2/ssl_request_log`date +%Y%m%d`.gz \ /srv/www/htdocs/stats/web3/access_log-`date +%Y%m%d`.gz \ /srv/www/htdocs/stats/web3/ssl_request_log`date +%Y%m%d`.gz \
/srv/www/htdocs/stats/access_log
Mh also wenn ich das so schreibe bekomme ich immer eine access denied fehlermeldung. /srv/www/htdocs/stats/logresolvemerge.pl\ /srv/www/htdocs/stats/web1/access_log-`date +%Y%m%d`.gz\ /srv/www/htdocs/stats/web1/ssl_request_log`date +%Y%m%d`.gz\ /srv/www/htdocs/stats/web2/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web2/ssl_request_log`date +%Y%m%d`.gz\ /srv/www/htdocs/stats/web3/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web3/ssl_request_log`date +%Y%m%d`.gz\
teslog.log
service:/srv/www/htdocs/stats # ./stats_script.sh.test access_log-20040513. 100% |*************************************************************************| 1267 KB 00:06 ssl_request_log-2004 100% |*************************************************************************| 39045 00:00 access_log-20040513. 100% |*************************************************************************| 1349 KB 00:04 ssl_request_log-2004 100% |*************************************************************************| 41746 00:00 access_log-20040513. 100% |*************************************************************************| 1211 KB 00:04 ssl_request_log-2004 100% |*************************************************************************| 46011 00:00 ./stats_script.sh.test: line 41: /srv/www/htdocs/stats/logresolvemerge.pl : No such file or directory ./stats_script.sh.test: line 42: /srv/www/htdocs/stats/web1/access_log-20040513.gz: Permission denied ./stats_script.sh.test: line 43: /srv/www/htdocs/stats/web2/access_log-20040513.gz: Permission denied ./stats_script.sh.test: line 44: /srv/www/htdocs/stats/web3/access_log-20040513.gz: Permission denied Das ganze ist ein schell script, logresolvemerge.pl wird aus diesem Script heraus aufgerufen. Meine eigentliche absicht ist es das script einfach nur übersichtlicher zu machen. Denn wenn ich es hintereinander schreibe funktioniert es bestens, leider sieht man es hier nicht wrklich wegen den Zeilenumbrüchen. /srv/www/htdocs/stats/logresolvemerge.pl srv/www/htdocs/stats/web1/access_log-$DATE /srv/www/htdocs/stats/web1/ssl_request_ log-$DATE /srv/www/htdocs/stats/web2/access_log-$DATE /srv/www/htdocs/stats/web2/ssl_request_log-$DATE /srv/www/htdocs/stats /web3/access_log-$DATE /srv/www/htdocs/stats/web3/ssl_request_log-$DATE
/srv/www/htdocs/stats/access_log
mit dem backslash direkt vor dem newline, wird das newline entwertet (kein befehl-ende, sondern nur ein anderer whitespace)
Dachte ich auch aber irgendwie will es nicht :(
hope i could help
d.
Gruss Christian
hallo christian! also, was du mir geschickt hast, hat zwei backslashs zu wenig ... ich denke daran liegts, da deine fehlermeldung direkt nach der zeile ohne backslash auftaucht. vor jedem(!) enter ein \
Mh also wenn ich das so schreibe bekomme ich immer eine access denied fehlermeldung.
/srv/www/htdocs/stats/logresolvemerge.pl\ /srv/www/htdocs/stats/web1/access_log-`date +%Y%m%d`.gz\ /srv/www/htdocs/stats/web1/ssl_request_log`date +%Y%m%d`.gz\ /srv/www/htdocs/stats/web2/access_log-`date +%Y%m%d`.gz # in der voranstehenden fehlts /srv/www/htdocs/stats/web2/ssl_request_log`date +%Y%m%d`.gz\ /srv/www/htdocs/stats/web3/access_log-`date # hier auch +%Y%m%d`.gz /srv/www/htdocs/stats/web3/ssl_request_log`date +%Y%m%d`.gz\
teslog.log
-- schnipp --
1211 KB 00:04 ssl_request_log-2004 100%
|********************************************************** |***************|
46011 00:00 ./stats_script.sh.test: line 41: /srv/www/htdocs/stats/logresolvemerge.pl : No such file or
-- schnapp -- ich hoffe, dass es dieser typo war, sonst weiss ich auch erstmal nicht weiter (und ich kann mir vorstellen, dass es dich auch nervt, "nur" wegen lesbarkeit an so einem ding ständig rumzufummeln;-) gruss d
Hi On Thursday 13 May 2004 09:56, christian zimmermann wrote:
Dominik Schopper wrote:
wenn ichdich richtig verstehe brauchst du:
/www/htdocs/stats/logresolvemerge.pl \ /srv/www/htdocs/stats/web1/access_log-`date +%Y%m%d`.gz \ ... Mh also wenn ich das so schreibe bekomme ich immer eine access denied fehlermeldung. ... /srv/www/htdocs/stats/logresolvemerge.pl\ /srv/www/htdocs/stats/web1/access_log-`date +%Y%m%d`.gz\ /srv/www/htdocs/stats/web1/ssl_request_log`date +%Y%m%d`.gz\ /srv/www/htdocs/stats/web2/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web2/ssl_request_log`date +%Y%m%d`.gz\ /srv/www/htdocs/stats/web3/access_log-`date +%Y%m%d`.gz /srv/www/htdocs/stats/web3/ssl_request_log`date +%Y%m%d`.gz\ ... Dominik hat in seinem Beispiel spaces reingemacht. Die sind auch wichtig. Ein Backslash am Zeilenende wird nämlich überhaupt nicht berücksichtigt, d.h. er wird auch nicht als whitespace-character gewertet. Ich habe es gerade mal mit einem mini-Skript <=========== #!/bin/bash touch abc\ def ===========> in einem leeren Verzeichnis getestet. Das legt dann eine Datei namens "abcdef" an. Probier es mal mit jeweils einem space vor dem "\". Wichtig ist auch das hinter dem "\" dann eben kein space mehr ist.
mfg Axel mfg Axel
participants (4)
-
Axel Heinrici
-
christian zimmermann
-
Dominik Schopper
-
Michael Kuznik