Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
27.07.2021, 23:46:44

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
Statistiken
  • Beiträge insgesamt: 747140
  • Themen insgesamt: 60091
  • Heute online: 409
  • Am meisten online: 2287
  • (22.01.2020, 19:20:24)
Benutzer Online

Autor Thema:  (SOLVED) Datum benutzen als  (Gelesen 459 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

(SOLVED) Datum benutzen als
« am: 04.02.2020, 11:40:04 »
Ich moechte in ein Script den Tag des Datums benutzen um eine Datei entweder gerade oder unungerade zu speicheren. Vorteil ist das immer eine aeltere vorhanden ist fuer mann weiss ja nie.
Jetzt mache ich es wie folgt moechte aber das de Rechner erledigt.

read -p "Druecke auf die Taste "u" wenn der Tag ungrade ist >> " ug
if test "$ug" = "u"
 then
     rsync -a -r -v /media/intel/"Data on WD120"/"mijn docs"     /media/intel/FreeComm1/UNGRADE
 else
     rsync -a -r -v /media/intel/"Data on WD120"/"mijn docs"     /media/intel/FreeComm1/GRADE
 fi
« Letzte Änderung: 04.02.2020, 15:03:44 von JosVa »

Re: Datum benutzen als
« Antwort #1 am: 04.02.2020, 12:07:32 »
An geraden Tagen ist das Ergebnis 0, an ungraden 1:
$ echo $(($(date +%e) % 2))

Re: Datum benutzen als
« Antwort #2 am: 04.02.2020, 14:11:35 »
Oke, 0 oder 1 das klappt jetzt.
Aber wie kan ich diese 0 oder 1 in ein if-then-else-fi fuer ein then oder else einsetzen?
Anders gefragt: Oder wie kann ich die 0 oder 1 einen Variablen zuweisen die das if-commando steurt?

#! /bin/bash
gu = $(($(date +%e) % 2))
if  $gu = 0
 then
    echo "gerade"
 else
    echo "UNgerade"
fi

Bekomme als Resultat:

/home/intel/Desktop/Data.sh: line 4: gu: command not found
/home/intel/Desktop/Data.sh: line 5: =: command not found

Re: Datum benutzen als
« Antwort #3 am: 04.02.2020, 14:23:16 »
if (($(date +%e)%2))
then
    echo ungerade
else
    echo gerade
fi

Re: Datum benutzen als
« Antwort #4 am: 04.02.2020, 14:57:18 »
Danke fuer deine einfachere Version wobei das Resultat schon ohne Vergleich als Wert gilt.
Habe es mit viel Hilfe von vielen Internetseiten schittweise heraus bekommen. Da war Windows doch um vieles einfacher.
TAG="$(($(date +%e) % 2))"
if [ $TAG = "0" ]
usw.
« Letzte Änderung: 04.02.2020, 15:01:10 von JosVa »

Re: (SOLVED) Datum benutzen als
« Antwort #5 am: 04.02.2020, 15:19:04 »
TAG="$(($(date +%e) % 2))"
if [ $TAG = "0" ]


Nessies Beispiel ist ein Bool'scher Vergleich, auf true und false. Das ist auch unter Windows nicht einfacher oder unter Linux schwerer, es ist nur anders... deshalb weil Linux kein Windows ist. Und es geht auch unter Linux mit expliziter Abfrage des Wertes:
if [ $TAG -eq 0 ]
oder
if [ $TAG -ne 1 ]

-eq = equal
-ne = not equal
-gt = greater then
-lt = less then
usw.

http://www.linux-praxis.de/linux1/shell2_5.html
« Letzte Änderung: 04.02.2020, 15:25:37 von Patchpanel »