* Michael Hoeller schrieb am 25.Aug.2001:
Am Samstag, 25. August 2001 06:46 schrieb Bernd Brodesser:
test, was ja ein Synonym zu [ ... ] ist,
Wo kann ich so was erfahren? In man test steht das nichts und ich waere nicht so schnell auf die Idee gekommen unter test zu suchen weil ich's nicht kannte. Aus den existierenden script konnte ich nur schliessen das es so was wie ein test sein musste... Meine Frage sollte wohl lauten wo gibt's Hilfe zur Selbsthilfe? Ich habe mir diverse Dokus runter geladen, abgesehen von denen die schon bei SuSE dabei sind - alles zusammen gibt ja auch ein klares Bild wenn man mal die erste Hürde hat. Einiges ist wohl ehr für Leute gedacht die diese schon genommern haben....
man bash. test gibt es zwar aus historischen Gründen auch als eigenständiges Programm, aber wenn Du einfach test oder eben [...] sagst, dann ist das bash-buildin gemeint. Eine knappe Hilfe speziell zu test bekommst Du auch mit help test. Wenn Du Dich intensiv mit der shell befassen willst, kommst Du nicht umhin Dir ein gutes Buch zuzulegen. Da gibt es eine ganze Menge. Geh mal in einem Buchladen und stöbere ein wenig durch. Die Manpages sind natürlich zum nachschlagen, nicht zum lernen gedacht.
if [ "$1" ] && [ "`find \"$1\" -mtime +7`" ] then
if [ "$1" ]
wenn ich auf existenz pruefe, sollte das dann nicht [ -e "$1" ] heissen? Was
Richtig.
macht [ "$1" ] ? Oder ist das wieder ein Synonym?
Wahr wohl ein falscher Fehler von mir. Sorry. Es war [ -e "$1" ] gemeint. [ "$1" ] gibt wahr zurück, wenn $1 nicht leer ist, sonst falsch.
[ "`find \"$1\" -mtime +7`" ]
mtime bezieht sich auf last modified, ctime auf last changed ich wuerde gerne auf das Erstelldatum pruefen - was muss ich da nehmen?
Gibt's nicht. mtime gibt die letzte Änderung in der Datei selber an, ctime die letzte Änderung in der I-Node. Das heißt wenn z.B die Rechte geändert wurden, oder der Besitzer. atime gibt den letzten lesenden Zugriff an.
ARCHIV="/backup/archiv" TMPDIR="/tmp/backup" mv $ARCHIV $TMPDIR\$ARCHIV ^ was soll hier der Backslash? Du meinst sicherlich auch hier slash / oder?
wie kann ich erreichen das nicht nach /tmp/backup/backup/archiv gemoved wird sondern nach /tmp/backup/archiv? Irgendwo habe ich gelesen das man den Filename extrahieren kann - ich find's nur nicht mehr..
basename und der Pfadanteil bekommst Du mit dirname.
und zu letzt: In einigen scripten habe ich so was gefunden:
if [ ....] ; then ... else ... fi
es scheint aber auch so zu gehen:
if [...] then ... else ... fi
mal abgesehen von der Position des then, das ist wohl eine Frage der Lesbarkeit, was ist mir dem Semikolon?
Semikolon beendet einen Befehl, das kann man auch mit Zeilenende machen. Ist reine Geschmackssache. Bernd -- Homepages von deutschsprachigen Linux-Gurus: Kristian Köhntopp: http://www.koehntopp.de/kris/artikel/ Sven Guckes: http://www.math.fu-berlin.de/~guckes/sven Robin S Socha: http://socha.net/index2.html |Zufallssignatur 10