Всем привет.
Кто-то может мне объяснить, почему не отрабатывает однострочник для проверки запущенного pulseaudio?
Вот, что происходит:
int@localhost ~ $ pulseaudio --check
int@localhost ~ $ echo $?
1
int@localhost ~ $ [ $(pulseaudio --check) ] && echo "yes" || echo "no"
no
int@localhost ~ $ pulseaudio -D
int@localhost ~ $ pulseaudio --check
int@localhost ~ $ echo $?
0
int@localhost ~ $ [ $(pulseaudio --check) ] && echo "yes" || echo "no"
no
В мане говорится следующее:
--check
Return 0 as return code when the PulseAudio daemon is already running for the calling user, or non-zero otherwise. Produces no output on the console except for errors to stderr.
С grep'ом работает:
int@localhost ~ $ echo 'hello' >> /tmp/foo
int@localhost ~ $ [ $(grep 'hello' /tmp/foo) ] && echo "yes" || echo "no"
yes
int@localhost ~ $ [ $(grep 'olleh' /tmp/foo) ] && echo "yes" || echo "no"
no