Bernd Brodesser wrote:
* Clemens Wohld schrieb am 16.Aug.2000:
Frage? Was mach ich hier falsch?
Ich hab es schon $(($online)-$(date +%s))
Die Syntax für Rechnungen lautet: $((...)) also doppelte Klammer, Du kannst aber dann natürlich keine schließende Klammer darin haben, bevor Du noch eine öffnende hast.
Nimm doch mal das $(( und das )) weg, dann bleibt bei Dir $online)-$(date +%s stehen. Das kann es doch nicht sein. Richtig wäre: $((($online)-$(date +%s)))
na ja, aber $(...) führt analog zu `...` einen Befehl aus. In diesem Fall hier wird von der Shell nicht $(( )) erkannt, da IMHO nach den öffnenden und vor den schließenden Klammern ein Blank stehen muß, damit die mathematische Operation ausgeführt wird. obiges $(($online)-$(date +%s)) entspricht also `($online)-$(date +%s)` und kann nicht funktionieren, da geschachtelte "Ausführungsoperatoren" nicht gehen.
wobei aber die Klammer um $online überflüssig ist, es tuts auch ACK
$(($online-$(date +%s)))
IMHO fehlen hier wieder die Blanks. Dieser Ausdruck entspricht: `($online-$(date +%s))` und kann auch nicht funktionieren
Natürlich mußt Du damit was machen. Die shell ersetzt den Ausdruck mit dem Ergebnis. Da muß denn schon eine Zuweisung erfolgen, oder ein echo oder sonstwas.
oder $($(online)-$(date +%s)), so eine Std. alles mal getestet aber
Das kann es so wie so nicht sein, da die Syntax $((...)) lautet, also mit doppelten Klammer.
Na ja, dies entspricht wieder `$(online)-$(date +%s)`.
nicht zum exacten Ergebnis gekommen :(
In der Reihenfolge, in der Du es oben beschreibst, erhälst Du so wie so immer ein negatives Ergebnis, da Du von dem älteren, also kleineren Datum, daß neuere also größere abziehst, besser wäre somit:
$(($(date +%s)-$online))
Ja , aber mit Blanks, oder? $(( $(date +%s)-$online )) sollte gehen. Andreas PS: Ich habe hier gerade keine bash zu Hand, nur eine ksh. Aber ich denke, die Regeln sind hier nicht anders. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com