Hallo On Tuesday 27 May 2003 15:43, OS2-Fan wrote:
hier habe ich einen Prototyp eines Skriptes:
count=0
if ls then ((count+=1)) fi
Bis hierhin ist es klar: Wenn ls ne 0 zurückgibt hat count den Wert 1 sonst 0.
if [[ $count ]] Das geht so nicht. Der "Wert" der Variable kann nicht so zum Rückgabewert eines Kommandos umfunktioniert werden. Es muss heißen "if [[ $count == "0" ]]" oder auch "if [[ $count == 0 ]]" Wann man "" oder '' braucht und wann nicht weiß ich nie so ganz genau, ich mache daher bei allen Strings Anführungszeichen dran.
Beispielskript test.sh (die veränderungen am ls sind nicht wesentlich): <======== #/bin/bash count=0 if `ls $1 >/dev/null` then ((count+=1)) fi if [[ $count == "0" ]] then echo fehlt else echo erfolgreich fi ======> Bash-Fenster: <====== axel@b122:~/test> ./test.sh /home erfolgreich axel@b122:~/test> ./test.sh /xyz ls: /xyz: Datei oder Verzeichnis nicht gefunden fehlt ======> mfg Axel