banshee у меня не стоит, поэтому полностью скрипт потестить не могу. Может это поможет:
$ if [ ! -z $(pgrep banshee) ]; then echo true; else echo false; fi
false
не уверен что вообще понял тебя, но такой вариант "$ if [ ! -z $(pgrep banshee) ];" вообще что-то не работает,
пробовал
if [ ! -z "$(pgrep banshee)" ]
или
if [ -n "$(pgrep banshee)" ];
* остальной код прежний
опять же работа в одностороннем порядке.
firefox работает.
проверил на лисе:
#!/bin/bash
if [ -n "$(pgrep firefox)" ]; # или if [ ! -z "$(pgrep firefox)" ];
then
c="`firefox -v`";
echo $c
else
echo "firefox isn't running!"
fi
read
работает
тоже самое для banshee:
#!/bin/bash
if [ -n "$(pgrep banshee)" ];
then
c="`banshee-1 --query-artist --query-title`";
echo $c
else
echo "banshee isn't running!"
fi
read
не рабоатет, если плеер не запущен, то запускается пустая консоль и стартует плеер, если запущен выводится инфо о треке.
что-то тут не так..
к слову, этот вариант всё же не рабочий:
#!/bin/bash
b=" ";
a="`pgrep firefox`";
if [ "$a" == "$b" ] # или if [ ! "$a" == "$b" ]
then
c="`firefox -v`";
echo $c
else
echo "firefox isn't running!"
fi
read
а этот вполне:
#!/bin/bash
a="`pgrep firefox`";
if [ -n "$a" ] # или if [ ! -z "$a" ]
then
c="`firefox -v`";
echo $c
else
echo "firefox isn't running!"
fi
read
но опять же для лисы, ума не приложу почему с banshee такая ерунда.. pgrep то одинаково ведёт себя с обоими приложениями..