Danke für die vielen Hinweise, die ich erst einmal "verdauen" muss.
Ich hatte gestern beim TV-Sehen etwas experimentiert, und folgendes Skript erstellt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 | #!/bin/bash
clear
d=$(date +%y%m)
v0=1908
v1=1910
v2=1911
v3=1912
if [ $d -gt $v0 ]
then
echo "ist 1908" # Ist wahr
else
echo "fehler"
fi
if [ $d -gt $v1 ]
then
echo "ist 1910" # Ist wahr
else
echo "fehler"
fi
if [ $d -gt $v2 ]
then
echo "ist 1911"
else
echo "fehler" # Ist Falsch
fi
if [ $d -gt $v3 ]
then
echo "ist 1912"
else
echo "fehler" # Ist Falsch
fi
|
Ich muss zugeben, so 100% habe ich "if [ $d -gt $v0 ]" nicht verstanden, aber es scheint zu funktionieren.
user_unknown schrieb:
Rechnen im Script mit doppelten runden Klammern:
Du benutzt aber /bin/sh, nicht /bin/bash - hat das einen Grund oder nur so? Mit sh kann man die Doppelrundklammern nämlich nicht nutzen.
Diese set-Befehle - haben die einen bestimmten Effekt?
Hat keinen Grund, hatte auch gestern mit /bin/bash experimentiert, Script soll auf eine Enigma2-Box mal laufen.
Und Set hatte ich mal nur eingefügt, weil ich hier den Grund für die Problem vermutet hatte. Habe vor einigen Jahren mal mit c++ gearbeitet.
Und exit 0 habe ich eingefügt, soll in /etc/rcS.d (verlinkt aus (etc/init.d/meine) laufen.
Wie schätzt ihr meinen o.g. Ansatz"if [ $d -gt $v0 ]" ein? Die vielen if-Anweisungen sind nur zum Testen, was wie geht.
Danke, Fred
Nachtrag: Mist, unter Ubuntu hat mein Testscript prima funktioniert. Die ersten zwei if-Anweisungen gehen zu "then" also Wahr und die anderen zwei if-Anweisungen gehen zu "else" also Falsch. Prima dachte ich.
Aber unter Linux-Enigma2 gehen alle 4 if-Anweisungen zu "then", als Wahr?? Nun will ich mal die vielen Vorschläge genauer analysieren.