Мой espeak
также возвраты подобные сообщения:
$ espeak -v en-us+3 -s 120 -k 20 "Pray. For. Moe. Jo."
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
Перенаправление их к /dev/null
доберитесь избавил от них, но это только скрывает сообщения:
$ espeak -v en-us+3 -s 120 -k 20 "Pray. For. Moe. Jo." 2>/dev/null
$
Согласно этому потоку похоже, что существует проблема с тем, как PulseAudio настроен, конкретно что существует pcm's в конфигурации ALSA, которые не корректны. thead говорит, что можно безопасно проигнорировать их, если Вам нравится.
Конкретно эти сообщения:
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
Другие сообщения связаны с Bluetooth (следовательно BT_...) в сообщении.
Конкретно эти сообщения:
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
В целом похоже, что все эти сообщения могут безопасно быть проигнорированы. Если бы Вы склонны попытаться избавиться от них, я сосредоточил бы свое внимание на том, если я имею какое-либо сервисное выполнение Bluetooth и выключаю их. Дополнительно я просмотрел бы конфигурации ALSA под /etc/alsa
и /etc/pulse
.
Если Вы хотите полностью проигнорировать эти сообщения, можно работать espeak ...
и перенаправьте эти сообщения к /dev/null
.
espeak -v en-us+3 -s 120 -k 20 "Pray. For. Moe. Jo." &> /dev/null
В упомянутом примере, где расширение для псевдонима - это одно слово, не содержащее ни одного символа, подлежащего расширению, не имеет значения, как вы процитируете имя _cutf
:
$ alias cutf="_cutf"
$ alias cutf
alias cutf='_cutf'
$ unalias cutf
$ alias cutf='_cutf'
$ alias cutf
alias cutf='_cutf'
$ unalias cutf
$ alias cutf=_cutf
$ alias cutf
alias cutf='_cutf'
Как видно из этого взаимодействия, повторение значения псевдонима cutf
каждый раз давало один и тот же результат. Так что, да, здесь стили цитирования взаимозаменяемы.
Не имеет значения, что расширение относится к имени функции: по крайней мере, с bash, псевдонимы выполняют простую текстовую подстановку (мне не очевидно, каким образом определение псевдонима полезно; прямой вызов базовой функции кажется таким же простым).
Все просто - если переменной нет, то скобки взаимозаменяемы. Скрипт Shell, хотя и очень полезен, но является очень простым языком. Я (и некоторые другие, кого я знаю) склонен использовать двойные кавычки по умолчанию, просто по привычке - и я никогда не сталкивался с проблемами.
Это ответ на вопрос, поставленный в заголовке (который привел меня сюда), а не на конкретный вопрос ОП.
Одинарные кавычки оцениваются динамически:
alias QS='echo $PWD'
Двойные кавычки оцениваются во время создания и после этого никогда не меняются:
alias QD="echo $PWD"
Такое же поведение встречается в bash, zsh и, я думаю, в других оболочках.