Re: Brauche Tip bei Shell-Script
Am Donnerstag, 22. April 2004 12:23 schrieb Timo Eckert: > On Thu, 22 Apr 2004 12:13:53 +0200 > "Tauber, Mathias Mailing" <[EMAIL PROTECTED]> wrote: > > Hallo, > > > Super, danke! > > Kein Problem. > > > Geht statt dem > > if [[ `grep -c "$LOG" /filename_zum_aussschliessen` == 0 > > ]] auch das hier? > > if `grep -c "$LOG" /filename_zum_aussschliessen` == 0 > > Nein, > > weil dier [ und ] im Scripting spezielle bedeutungen haben. Frag > mich nicht genau welche, da müsste ich Dich auch die Manpage > verweisen. ;) [ ] sind im Prinzip das Gleiche wie test. Es ist also egal, ob Du if [ ... ]; then oder if test ...; then schreibst. Warum Du allerdings doppelte Klammern benutzt ist mir rätselhaft, die sind hier unnötig. Im angegebenen Fall geht es allerdings auch ohne test, die if-Bedingung wertet ja das Ergebnis des nachfolgenden Kommandos aus (test liefert im Erfolgsfall 0, sonst != 0). Also kann man auch gleich das Ergebnis des Kommandos grep direkt benutzen: if ! grep -q "$LOG" /filename_zum_aussschliessen; then ... fi Jan
Re: Brauche Tip bei Shell-Script
wenn du es schon hier hintippen kannst, warum probierst du es dann nicht auch einfach mal? Dadurch lernt man am besten. Und natürlich durch lesen der Dokumentation. Prinzipiell stimme ich Dir da auf jeden Fall zu... Aber ich habe auch schon die Erfahrung gemacht, dass ich beim Testen das gewünschte Ergebnis bekommen habe, später aber hat sich das Gegenteil herausgestellt. Es ist zwar unwahrscheinlich, dass das hier passiert wäre, aber warum soll ich das Rad zum zweiten mal erfinden... Mit einem 'Ja' bzw. 'Nein' hat sich meine Frage geklärt und mein Verständnis wurde (ohne große Zeitinvestition von einem anderen oder mir) bereichert. Sonnige Grüße Mathias -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Brauche Tip bei Shell-Script
On Thu, 22 Apr 2004 12:13:53 +0200 "Tauber, Mathias Mailing" <[EMAIL PROTECTED]> wrote: Hallo, > Super, danke! Kein Problem. > Geht statt dem > if [[ `grep -c "$LOG" /filename_zum_aussschliessen` == 0 ]] > auch das hier? > if `grep -c "$LOG" /filename_zum_aussschliessen` == 0 Nein, weil dier [ und ] im Scripting spezielle bedeutungen haben. Frag mich nicht genau welche, da müsste ich Dich auch die Manpage verweisen. ;) Sonnige Grüsse, Timo.
Re: Brauche Tip bei Shell-Script
* Tauber, Mathias Mailing ([EMAIL PROTECTED]) wrote: > Geht statt dem > > if [[ `grep -c "$LOG" /filename_zum_aussschliessen` == 0 ]] > > auch das hier? > > if `grep -c "$LOG" /filename_zum_aussschliessen` == 0 wenn du es schon hier hintippen kannst, warum probierst du es dann nicht auch einfach mal? Dadurch lernt man am besten. Und natürlich durch lesen der Dokumentation. gruss sascha
Re: Brauche Tip bei Shell-Script
ich würde das folgendermassen abändern: cd /var/log for LOG in `syslogd-listfiles --weekly` do if [[ `grep -c "$LOG" /filename_zum_aussschliessen` == 0 ]] then if [ -s $LOG ]; then savelog -g adm -m 640 -u root -c 4 $LOG >/dev/null fi fi done Super, danke! Geht statt dem if [[ `grep -c "$LOG" /filename_zum_aussschliessen` == 0 ]] auch das hier? if `grep -c "$LOG" /filename_zum_aussschliessen` == 0 Ebenfalls sonnige Grüße ;O) Mathias -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Brauche Tip bei Shell-Script
* Tauber, Mathias Mailing ([EMAIL PROTECTED]) wrote: > < snip > > cd /var/log > for LOG in `syslogd-listfiles --weekly` > do >if [ -s $LOG ]; then > savelog -g adm -m 640 -u root -c 4 $LOG >/dev/null >fi > done > < snip > > > Ich will jetzt gezielt Dateien in der Schleife ausschließen im Prinzip, um bei "test" zu bleiben und nicht die von Timo vorgeschlagene, vieleicht elegantere Methode zu wählen, geht das so: if [ -s $LOG -a ! "$LOG" = "excludefile01" \ -a ! "$LOG" = "excludefile02"]; then ... fi man test gruss sascha
Re: Brauche Tip bei Shell-Script
On Thu, 22 Apr 2004 11:11:11 +0200 "Tauber, Mathias Mailing" <[EMAIL PROTECTED]> wrote: > Hi, Hallo, ich würde das folgendermassen abändern: cd /var/log for LOG in `syslogd-listfiles --weekly` do if [[ `grep -c "$LOG" /filename_zum_aussschliessen` == 0 ]] then if [ -s $LOG ]; then savelog -g adm -m 640 -u root -c 4 $LOG >/dev/null fi fi done und in /filename_zum_ausschliessen schreibst du zeilenweise die filenamen rein, welche savelog nicht bearbeiten soll. am besten mit pfad. nicht dass es da probleme gibt. Sonnige Grüsse, Timo.
Brauche Tip bei Shell-Script
Hi, folgendes ist in der /etc/cron.weekly/sysklogd enthalten: < snip > cd /var/log for LOG in `syslogd-listfiles --weekly` do if [ -s $LOG ]; then savelog -g adm -m 640 -u root -c 4 $LOG >/dev/null fi done < snip > Ich will jetzt gezielt Dateien in der Schleife ausschließen und weiss leider nicht genau, wie man das am besten realisiert. Ich dachte an sowas: if [ -s $LOG ]; and \ $LOG != 'file01_nicht' and \ $LOG != 'file02_nicht' and \ ... then savelog -g adm -m 640 -u root -c 4 $LOG >/dev/null fi Tut das so, oder kann mir jemand eine elegantere/funktionierende Version zeigen? Danke und Grüße Mathias -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)