Tach Liste. Ich möchte in einem Skript festellen, ob ein gerades oder ein ungerades Datum vorliegt. Also if aktuelles Datum gerade dann tu dies sonst tu jenes fi Wie krieg ich raus, welches Datum vorliegt? Gruß. Andy -- Andreas Feile <lists@feile.net> URL: www.feile.net
hi,
Wie krieg ich raus, welches Datum vorliegt? mittels date +%Y.%m.%d
wobei Y=year m=month d=day gruss, markus On Wed, 27 Nov 2002 11:31:30 +0100 Andreas Feile <lists@feile.net> shaped the electrons to say:
Tach Liste.
Ich möchte in einem Skript festellen, ob ein gerades oder ein ungerades Datum vorliegt. Also
if aktuelles Datum gerade dann tu dies sonst tu jenes fi
Wie krieg ich raus, welches Datum vorliegt?
Gruß. Andy --
Andreas Feile <lists@feile.net> URL: www.feile.net
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
--
* Andreas Feile schrieb am 27.Nov.2002:
Ich möchte in einem Skript festellen, ob ein gerades oder ein ungerades Datum vorliegt. Also
Was ist ein gerades, was ein ungerades Datum? Der Tag im Monat, oder der Wochentag, der Tag im Jahr? Jetzt haben wir den 27. Nov. 2002 und somit der 27. Tag des Monats, aber der 331. Tag des Jahre. In diesem Fall beides Ungerade Tage, vorrigen Monat sah das aber anders aus. Den Tag im Monat erhälst Du mit date +%d und der Tag im Jahr mit date +%j Mit date +%w erhälst Du den Tag der Woche, wobei Sonntag gleich 0 ist.
if aktuelles Datum gerade dann tu dies sonst tu jenes fi
Kanst Du mit bc berechnen. Etwa echo "`date +%d` % 2" | bc % ist die sogenannte Modulofunktion. Der Modulowert ist der Rest bei einer Division. Etwa 27 : 5 = 5 Rest 2 => 27 mod 5 = 2 oder in der %-Schreibweise: 27 % 5 = 2 und diese Schreibweise versteht bc. bc liest von der Standardeingabe. Jede Zeile wird seperat berechnet und das Ergebnis ausgewertet. Das hat zur Folge, wenn bc von einer Datei oder einer Pipe liest, so berechnet er jede Zeile, und gibt sie aus. Wenn die Standardeingabe die Tastatur ist, dann berechnet bc die Eingabe nach jedem ENTER. Genauso wie man es sich vorstellt. Damit ergibt obige Zeile 1 wenn der Monatstag ungerade ist und 0, wenn er gerade ist. Insgesamt sollte folgendes funktionieren: if test `echo \`date +%d\` % 2 | bc` = 0 then mache was Du tun mußt, wenn gerade else mache was Du tun mußt, wenn ungerade fi
Wie krieg ich raus, welches Datum vorliegt?
man date -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11
On Wednesday 27 November 2002 11:31, Andreas Feile wrote:
Tach Liste.
Ich möchte in einem Skript festellen, ob ein gerades oder ein ungerades Datum vorliegt. Also
if aktuelles Datum gerade dann tu dies sonst tu jenes fi
tag=`date +%d` gerade=`expr $tag % 2` if [ $gerade -eq 1 ]; then echo Ja else echo Nein fi Das geht bestimmt eleganter, bin halt kein Skript Experte. Mfg, Tim Ruehsen
hallo, versuch es mit --- #! /bin/bash heute=`date +%d` if [ $(($heute % 2 )) -eq 0 ]; then echo gerade else echo ungerade fi --- gruss markus Andreas Feile wrote:
Tach Liste.
Ich möchte in einem Skript festellen, ob ein gerades oder ein ungerades Datum vorliegt. Also
if aktuelles Datum gerade dann tu dies sonst tu jenes fi
Wie krieg ich raus, welches Datum vorliegt?
Gruß. Andy
participants (5)
-
Andreas Feile
-
B.Brodesser@t-online.de
-
Markus Noch
-
Tim Ruehsen
-
wmarkusw@t-online.de