Hallo zusammen,
ich habe mal wieder zwei Fragen (Hintergrund siehe unten)
1. Wie vergleicht man Variablen in Skripten so, dass sie in jeder Bash auf jedem System wie erwartet funktionieren? Welche der Beispiele sind im Sinne einer hohen Kompatibilität sinnvoll?
2. Wie sollte man Variablen definieren?
Beispiele zu Frage 1:
Verwendete Variabeln:
chari - definiert durch
chari = "5"
inti - definiert durch
typset -i inti
A) if [ $chari == "4" ]; then...
B) if [ "$chari" == "4" ]; then... (ich meine so gehört es sich)
C) if [ $chari -eq 4 ]; then...
D) if [ "x$chari" == "x4" ]; then....
E) if [ "$chari" -gt "0" ]; then (aus der linvdr runvdr , -gt ist doch zum Vergleich von integer variablen gedacht, oder??)
F) if [[ "$chari" == "4" ]]; then... (aus einem Buch )
... bitte gebt ruhig auch Beispiele für schlechten Stiel, damit ich ihn nicht nachmache.
G) if ( $inti == 4 ); then
H) if [ $inti == 4 ]; then
Beispiele zu Frage 2:
I) chari = 4
J) chari = "4"
K) typset -i init
i=$i+1
L) chari = 4
chari = $((chari+1))
....
Hintergrund:
Es geht mal wieder um dxr3config. Ich habe in vorigen Versionen Dateivergleiche benutzt, die unter linvdr, ct, ... funktinoieren. Aber ich habe dann auch wieder Fehlermeldungen erhalten, die zeigen, dass die Variablenvergleiche nicht auf allen Rechner funktionieren. Daher möchte ich euch um Rat bitten, um so Variablenvergleiche verwenden zu können, die auf allen Rechnern funktionieren.
Vielen Dank,
Wicky