M
Morth
Grünschnabel
Hi,
ich bin neu hier und auch shell-programmierung ist für mich recht neu. Aber ich verzweifle langsam und daher hoffe ich ihr könnt mir weiter helfen.
Ubuntu 4.2.4 mit bash
Also:
ich möchte mehrere, bestimmte verzeichnisse nach leerzeichen untersuchen. Je nach fund soll ein bestimmter exit-code gesetzt werden. Das habe ich auch schon geschafft, solange ich nur ein verzeichnis untersuchen will. Aber ich bekomme das absolut nicht hin es für mehrer in einem abwasch zu machen.
hier erstmal meine einzellösung:
starten würde ich das ganze mit check.sh /verzeichnis
achja, die verzeichnisse sollen im script stehen und nicht aus einer anderen datei geladen werden, das ist gerade mein grossen problem.
hoffe ihr könnt damit was anfangen
Grüsse, Simon
ich bin neu hier und auch shell-programmierung ist für mich recht neu. Aber ich verzweifle langsam und daher hoffe ich ihr könnt mir weiter helfen.
Ubuntu 4.2.4 mit bash
Also:
ich möchte mehrere, bestimmte verzeichnisse nach leerzeichen untersuchen. Je nach fund soll ein bestimmter exit-code gesetzt werden. Das habe ich auch schon geschafft, solange ich nur ein verzeichnis untersuchen will. Aber ich bekomme das absolut nicht hin es für mehrer in einem abwasch zu machen.
hier erstmal meine einzellösung:
Code:
#!/bin/sh
MATCHES_SPACE_1=`find "$1" -maxdepth 1 -regextype posix-extended -regex "^$1/[^ ]*[ ]+[^ ]*$" -printf "%f\n"`
MATCHES_SPACE_3=`find "$1" -maxdepth 1 -regextype posix-extended -regex "^$1/[^ ]*[ ]{3,}[^ ]*$" -printf "%f\n"`
if [ \( -n "${MATCHES_SPACE_1}" \) -a \( -n "${MATCHES_SPACE_3}" \) ]; then
echo "CRITICAL: Verzeichnisse/Dateien mit einem oder mehr UND drei oder mehr aufeinander folgenden Leerzeichen gefunden! $1"
exit 2
elif [ -n "${MATCHES_SPACE_3}" ]; then
echo "CRITICAL: Verzeichnisse/Dateien mit drei oder mehr aufeinander folgenden Leerzeichen gefunden! $1"
exit 2
elif [ -n "${MATCHES_SPACE_1}" ]; then
echo "CRITICAL: Verzeichnisse/Dateien mit einem oder mehr aufeinander folgenden Leerzeichen gefunden $1"
exit 2
else echo "OK: keine Dateien oder Verzeichnisse mit Leerzeichen gefunden $1"
exit 0
fi
starten würde ich das ganze mit check.sh /verzeichnis
achja, die verzeichnisse sollen im script stehen und nicht aus einer anderen datei geladen werden, das ist gerade mein grossen problem.
hoffe ihr könnt damit was anfangen
Grüsse, Simon