Frohe Ostern liebe Leute, ich möchte mit folgendem kleinen script den 'status' vom Program 'radiotray' in meinem 'Conky' anzeigen:
1 2 3 4 5 6 7 8 | #!/bin/sh set -x; state=$(qdbus net.sourceforge.radiotray /net/sourceforge/radiotray net.sourceforge.radiotray.getCurrentRadio); if [[ $state == *"(not playing)" ]] ; then echo "Bereit" ; else echo $state ; fi |
Im terminal gibt das script wie erwartet "Bereit" aus:
1 2 3 4 5 6 7 | pilzgrow@pilzgrow-system:~$ '/home/pilzgrow/.config/conky/state.sh' +++ qdbus net.sourceforge.radiotray /net/sourceforge/radiotray net.sourceforge.radiotray.getCurrentRadio ++ state='Psyradio-alternativ (not playing)' ++ [[ Psyradio-alternativ (not playing) == *\(\n\o\t\ \p\l\a\y\i\n\g\) ]] ++ echo Bereit Bereit |
Ich binde das script mit
${execi 2 ~/.config/conky/state.sh} in die conky.conf ein
Conky -D gibt dann :
pilzgrow@pilzgrow-system:~$ Conky -D ... + qdbus net.sourceforge.radiotray /net/sourceforge/radiotray net.sourceforge.radiotray.getCurrentRadio + state=Psyradio-alternativ (not playing) + [[ Psyradio-alternativ (not playing) == *(not playing) ]] /home/pilzgrow/.config/conky/state.sh: 4: [[: not found + echo Psyradio-alternativ (not playing) ...
aus - die 'if'-Bedingung wird nicht ausgewertet und '$state' ausgegeben. Wo ist hier mein Denk-/ Syntax Fehler?