Veröffentlicht 19. April 200223 j 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?
19. April 200223 j 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 ~~~
19. April 200223 j Die if abfrage musst du mit fi abschließen also: #!/bin/sh read bla if [ $bla = 1 ] ; then echo yo else echo no fi
19. April 200223 j 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.
19. April 200223 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.