ubuntuusers.de

if then Befehl

Status: Gelöst | Ubuntu-Version: Kubuntu 22.10 (Kinetic Kudu)
Antworten |

Umaash

Anmeldungsdatum:
7. Juni 2016

Beiträge: 123

Hallo zusammen

Ich habe einen Befehl in meinem *.sh Script, der nicht zu funktionieren scheint. Meldung:

Zeile 6: !=A: Kommando nicht gefunden.

Nun habe ich beschlossen dem auf den Grund zu gehen und im Terminal zu testen, ob mein "if then" Befehl funktioniert (Fehlersuche). Also habe ich das gemacht:

1
2
$ if ${is:+A}=A then echo "funkt"; fi
bash: Syntaxfehler beim unerwarteten Wort `fi'

Ich habe gehofft, dass er vielleicht den Exit status zurückgibt. Stattdessen gibt es nur eine Fehlermeldung.

Auch folgendes führte nicht zum Erfolg:

1
2
$ if ${is:+A}=A then echo "funkt" fi
> 

Frage: Wie kann ich meinen Befehl im Terminal testen?

Eine Antwort würde mich freuen. Besten Dank.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13205

Also, es fängt schon mal damit an, dass da ein Semikolon fehlt:

1
if ${is:+A}=A; then echo "funkt"; fi

dann fehlt da das passende Kommando, um den Test überhaupt zu machen:

1
if [ "${is:+A}" = A ]; then echo "funkt"; fi

Schließlich kann man den Test "die Variable enthält eine Zeichenkette" einfacher so machen:

1
if [ -n "$is" ]; then echo "funkt"; fi

Umaash

(Themenstarter)

Anmeldungsdatum:
7. Juni 2016

Beiträge: 123

Vielen Dank. 😀 Damit hat es dann doch funktioniert.

Antworten |