Problem mit Parameterübergabe in einem shell-Script

Post Reply
Message
Author
Steffen

Problem mit Parameterübergabe in einem shell-Script

#1 Post by Steffen »

Hallo,

ich habe folgendes Problem: In einem script soll eine time-stamp erzeugt werden, welche für einen Dateinamen verwendet werden soll. Ich habe nicht viel Erfahrung mit scripten. Und nun dachte ich mir, ich setze ein Variable wie folgt:

NOW='date +"%d%h%Y-%H-%M"'

... und den Namen für das Log-File so:

LOGFILE="${NOW}_backup_log"

... aber was ich dann bekomme ist ein Datei mit dem Namen:


date +"%d%h%Y-%H-%M"_backup_log

Ich bin für jede Anregung dankbar!

Gruß
Steffen

Jochen

Re: Problem mit Parameterübergabe in einem shell-Script

#2 Post by Jochen »

Du hast die falschen Quotes verwendet: Die einfachen Hochkommata (', typischerweise Shift-# auf einer PS/2-Tastatur) verhindern, dass die Shell irgendetwas an der eingeschlossenen Zeichenkette macht. Was Du wolltest, waren die Backticks (`, Shift-´ (oben neben der Backspace-Taste)). Ersetze die ' durch ` und es sollte wie gewünscht funktionieren.

Wenn Du die bash verwendest, wäre es vielleicht sowieso besser, $() zu verwenden. Einfach anstatt

NOW=`date +"%d%h%Y-%H-%M"`

ein

NOW=$(date +"%d%h%Y-%H-%M")

verwenden. Ich persönlich finde es leserlicher und es lässt sich sogar schachteln.

Jochen

Steffen

Re: Problem mit Parameterübergabe in einem shell-Script

#3 Post by Steffen »

Vielen Dank Jochen, hat tadellos geklappt!

Nur 2 Fragen hätte ich noch:
1.) Und zwar gibt es unter DOS den Befehl pause, welcher nicht die selbe Funktion hat wie z.B. sleep n, sondern das Script anhält bis eine Taste betätigt wird. Gibt es sowas auch?

2.) Die schell (sh) zeigt ja auch farbigen Text in der Konsole kann man das in einem Script auch nutzen, z.B. im Zusammenhang mit echo, oder so?

Vielen Dank!

Steffen

Chris

Re: Problem mit Parameterübergabe in einem shell-Script

#4 Post by Chris »

Du kannst ein "echo "Druecke ENTER fuer weiter..." ; read xxx" nutzen.

Post Reply