Dienstag, 27. März 2012

Haiku - ... und der "test"- Befehl (Teil 3)

Um der Vollständigkeit Rechnung zu tragen, gibts heute den dritten und damit auch letzten Teil zum Thema "test"- Befehl. Einige Dinge, außer den bereits gezeigten, lassen sich nämlich noch mit dem "test"- Befehl bewerkstelligen.

So kann mit den folgenden Optionen z.B. geprüft werden, ob ein beliebiger String eine Länge größer als 0 besitzt.


test -n [String]

    True = [String] ist länger als 0 Zeichen


test -z [String]

    True = [String] ist 0 Zeichen lang


Beispiel


#! /bin/sh

if test -n "AAA"; then

  echo "String1 (AAA) hat eine Länge > 0."
  
else

  echo "String1 (AAA) ist 0 Zeichen lang."

fi


Die folgenden  beiden Optionen dienen dazu, zwei Dateien miteinander zu vergleichen und herauszufinden welche der Dateien neuer bzw. älter ist.


test [Datei1] -nt [Datei2]

    True = [Datei1] ist neuer als [Datei2]


test [Datei1] -ot [Datei2]

    True = [Datei1] ist älter als [Datei2]


Beispiel


#! /bin/sh

touch test1.txt

sleep 5

touch test2.txt

if test "test1.txt" -nt "test2.txt"; then

  echo test1.txt ist älter als text2.txt
  
else

  echo test1.txt ist neuer als text2.txt

fi


Die Beispiel- Dateien habe ich wieder mit "StyleEdit" erstellt. Es ist ebenfalls wieder darauf zu achten das die erstellten Shell- Scripte noch die "Ausführen"- Berechtigung bekommen müssen. Dies kann z. B. mit dem folgenden Befehl bewerkstelligt werden. 

chmod +x [Dateiname]


(getestet mit Haiku R1 Alpha 3)


Keine Kommentare:

Kommentar veröffentlichen