Hallo Christian, die scripte erkennen carriage returns - im Gegensatz zu C-Programmen. Um einen Zeilenumbruch zu vermeiden, musst Du \ setzen, also: /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}
Gruss, ulrich Ulrich Hiller Max-Planck-Institut fuer Astronomie Koenigstuhl 17 69117 Heidelberg Germany phone +49 6221 528238 fax +49 6221 528246 email hiller@mpia.de
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}
Ulrich Hiller wrote:
Hallo Christian,
Hallo Heidelberger :))
die scripte erkennen carriage returns - im Gegensatz zu C-Programmen. Um einen Zeilenumbruch zu vermeiden, musst Du \ setzen, also:
/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}
Also ich hab das ganze jetzt mal nach den vorschlägen hier abgeändert leider funktioniert es immer noch nicht. Steht alles hinter einander geht es.
Gruss, ulrich Ulrich Hiller Max-Planck-Institut fuer Astronomie Koenigstuhl 17 69117 Heidelberg Germany phone +49 6221 528238 fax +49 6221 528246 email hiller@mpia.de
Gruss Christian
Am Freitag, 7. Mai 2004 15:07 schrieb christian zimmermann:
Ulrich Hiller wrote:
Hallo Christian,
Hallo Heidelberger :))
die scripte erkennen carriage returns - im Gegensatz zu C-Programmen. Um einen Zeilenumbruch zu vermeiden, musst Du \ setzen, also:
/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}
Also ich hab das ganze jetzt mal nach den vorschlägen hier abgeändert leider funktioniert es immer noch nicht. Steht alles hinter einander geht es.
hallo christian! warum die geschweiften klammern? so wie ich mich erinnere, sind die für z.b compound statements, funktionen und variablen-namen trennung vorgesehen ... wenn das nur aufruf-argumente für das perl-skript sein sollen (@ARGV), dann würde ich das mit \ aber ohne { ... } machen! oder hab ich da was falsches im kopf mit den klammern gruss ds
Hallo, Am Fri, 07 May 2004, Dominik Schopper schrieb:
Am Freitag, 7. Mai 2004 15:07 schrieb christian zimmermann:
Ulrich Hiller wrote: [..]
/www/htdocs/stats/logresolvemerge.pl{ \
^hier wuerde ein ein Leerzeichen fehlen.
warum die geschweiften klammern? so wie ich mich erinnere, sind die für z.b compound statements, funktionen und variablen-namen trennung vorgesehen ... wenn das nur aufruf-argumente für das perl-skript sein sollen (@ARGV), dann würde ich das mit \ aber ohne { ... } machen! oder hab ich da was falsches im kopf mit den klammern
Nein. Vollkommen korrekt. Ausserdem ist der wiederholte Aufruf von date Unfug. ==== DATE="`date '+%Y%m%d'`" /www/htdocs/stats/logresolvemerge.pl \ /srv/www/htdocs/stats/web1/access_log-${DATE}.gz \ /srv/www/htdocs/stats/web1/ssl_request_log${DATE}.gz \ /srv/www/htdocs/stats/web2/access_log-${DATE}.gz \ /srv/www/htdocs/stats/web2/ssl_request_log${DATE}.gz \ /srv/www/htdocs/stats/web3/access_log-${DATE}.gz \ /srv/www/htdocs/stats/web3/ssl_request_log${DATE}.gz \
/srv/www/htdocs/stats/access_log ====
Die Fehlermeldung: ./stats_script.sh: line 43: syntax error near unexpected token `}' kommt uebrigens daher, dass vor der '}' ein Zeilenumbruch (nicht maskiert!) oder ein ';' fehlt. -dnh -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.
participants (4)
-
christian zimmermann
-
David Haller
-
Dominik Schopper
-
Ulrich Hiller