Finde den Fehler im bash Skript nicht

it-frosch
Goto Top
Hallo Kollegen,

ich möchte ein bash Skript bauen, dass dem Nutzer mit zenity einen Dialog anzeigt aus dem er die abzuspielende Musik auswählen kann.
Das funktioniert alles auch, solange vlc schon läuft.
Dann wird vlc gekillt und die neue Playlist gestartet.


Jetzt versuche ich beim ersten Aufruf zu prüfen ob vlc schon läuft und wenn nicht, den killall Befehl zu überspringen.


Allerdings bekomme ich hierbei eine Fehlermeldung:

Kann mir hier jemand einen Tipp geben, wo der Fehler liegen könnte?
Ich habe keine Idee mehr.

Danke schon mal.

Grüße vom it-frosch

Lösung:
Bei der einzeiligen Schreibweise müssen alle Teile des Befehls mit ; abgeschlossen werden
Also so:
if [ "$BEFEHL" = musik-01 ]; then if [[ -z "$a" ]]; then cvlc --random /home/user/mp3; else killall vlc && cvlc --random /home/user/mp3; fi

Dann funktioniert es auch mit if - then - else und der Abfrage. face-smile

Content-Key: 593157

Url: https://administrator.de/contentid/593157

Ausgedruckt am: 19.08.2022 um 11:08 Uhr

Mitglied: NikosLykos
Lösung NikosLykos 03.08.2020 um 00:41:30 Uhr
Goto Top
Hallo,

es fehlt in Zeile 10 wohl ein ; zwischen mp3 und fi


Grüße
Klaus
Mitglied: it-frosch
it-frosch 03.08.2020 um 09:35:15 Uhr
Goto Top
Hallo Klaus,

kannst du mir auch sagen warum da ein ; hin muss oder einen Link schicken, wo ich das nachlesen kann.
Ich würde es gern verstehen. face-wink

Grüße vom it-frosch
Mitglied: Alchimedes
Alchimedes 03.08.2020 um 10:24:12 Uhr
Goto Top
Hallo ,

a=$(pidof vlc)]

Die Eckige Schlussklammer hat da nichts verloren.

Gruss
Mitglied: NikosLykos
Lösung NikosLykos 03.08.2020 um 10:55:18 Uhr
Goto Top
Hallo,

Hier ein Link:
ss64.com/bash/if.html

In der einzeiligen Form muss vor fi genauso ein ; stehen wie vor then

Grüße
Klaus
Mitglied: it-frosch
it-frosch 03.08.2020 um 13:39:11 Uhr
Goto Top
Hallo Archimedes,

Die Eckige Schlussklammer hat da nichts verloren.
war nur nein Übertragungsfehler, trotzdem danke. face-wink

grüße vom it-frosch
Mitglied: it-frosch
it-frosch 03.08.2020 um 14:04:04 Uhr
Goto Top
Hallo Klaus,

danke für den Link.
Vor else fehlte auch noch ein ; aber jetzt funktioniert das Skript.

grüße vom it-frosch