MFBASSIST Geschrieben 19. April 2002 Geschrieben 19. April 2002 Hallo ich will unter Linux ein kleines Script machen was ein Verzeichnis ausliest und in eine Datei schreibt. Wenn diese Datei dann keinen Inhalt enthält soll nix passieren, ansonsten eine Mail (mit Datei als Anhang) an administrator. #!/bin/sh count=0 ls /daten/ | sort > /daten/kfzdaten if `test = /daten/kfzdaten == 0` ; then exit else mail administrator@testdomain.de + Anhang..... echo test exit 0 Wie funktioniert das mit dem if das ich den Inhalt vergleichen kann?
Klotzkopp Geschrieben 19. April 2002 Geschrieben 19. April 2002 Wenn es nicht inzwischen eine Shell gibt, die C versteht, dann bist Du hier falsch. Ich verweise Dich mal an die Experten. ~~~ Verschoben nach: Linux + Unix ~~~
@@@ Geschrieben 19. April 2002 Geschrieben 19. April 2002 Die if abfrage musst du mit fi abschließen also: #!/bin/sh read bla if [ $bla = 1 ] ; then echo yo else echo no fi
Dagegen Geschrieben 19. April 2002 Geschrieben 19. April 2002 Um zu ueberpruefen oob es ein File ist musst du noch ein -s in die if-Abfrage machen: if [ -s $file ] aus der man-Page -s filename True if filename exists and has a size greater than zero.
DanielB Geschrieben 19. April 2002 Geschrieben 19. April 2002 Könntest Du so erledigen. #!/bin/bash DIR=$1 OUTPUT=$2 MAILTO="foo@bar.com" SUBJECT="Directory Listing of $1" SIZE=`ls -l $DIR | head -1 | sed -e 's/[a-z]//g'` if [[ $SIZE -gt 0 ]] then ls -l $DIR > $OUTPUT echo "Directory Listing of $1" | /usr/bin/uuenview -b -m $MAILTO -s $SUBJECT -a $OUTPUT rm $OUTPUT fi Das Skript rufst du dann mit Parametern auf : z.B. /usr/local/bin/dirlist.sh /daten /tmp/output
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden