Python脚本输出传递到Bash while循环时触发BrokenPipeError: [Errno 32] Broken pipe错误求助
Python脚本输出传递到Bash while循环时触发BrokenPipeError: [Errno 32] Broken pipe错误求助
我已经绞尽脑汁好几个小时了,这个脚本就是跑不起来。我翻到了谷歌搜索结果的第三页,还和不同的LLM聊了7次,但还是搞不定这个问题。
我的脚本代码:
#!/bin/bash python3.12 -m speech_recognition | while IFS= read -r x; do case $x in *"Got it"*) echo "Action for text1" ffplay -autoexit -nodisp -f lavfi -i 'sine=f=1200:d=0.05' && ffplay -autoexit -nodisp -f lavfi -i 'sine=f=1500:d=0.05' & ;; *"You said"*) echo "Action for text2" espeak-ng "$x" ;; *"test"*) echo "Action for text3" ffplay -autoexit -nodisp -f lavfi -i 'sine=f=1200:d=0.05' && ffplay -autoexit -nodisp -f lavfi -i 'sine=f=1200:d=0.05' & ;; *) echo "No match for $x" # Optional default action for unmatched text ;; esac echo $x done
终端运行输出:
usr_40476@2xeon:~/******/******> bash start.sh ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side ALSA lib pcm_route.c:878:(find_matching_chmap) Found no matching channel map ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_equal.so (/lib64/alsa-lib/libasound_module_pcm_equal.so: undefined symbol: snd_lib_error) ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_equal.so (/lib64/alsa-lib/libasound_module_pcm_equal.so: undefined symbol: snd_lib_error) ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_equal.so (/lib64/alsa-lib/libasound_module_pcm_equal.so: undefined symbol: snd_lib_error) ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_equal.so (/lib64/alsa-lib/libasound_module_pcm_equal.so: undefined symbol: snd_lib_error) ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side ALSA lib pcm_route.c:878:(find_matching_chmap) Found no matching channel map ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_equal.so (/lib64/alsa-lib/libasound_module_pcm_equal.so: undefined symbol: snd_lib_error) ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_equal.so (/lib64/alsa-lib/libasound_module_pcm_equal.so: undefined symbol: snd_lib_error) ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_equal.so (/lib64/alsa-lib/libasound_module_pcm_equal.so: undefined symbol: snd_lib_error) ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_equal.so (/lib64/alsa-lib/libasound_module_pcm_equal.so: undefined symbol: snd_lib_error) ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave ^C^CException ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> BrokenPipeError: [Errno 32] Broken pipe usr_40476@2xeon:~/******/******>
备注:内容来源于stack exchange,提问作者usr_40476
相关产品推荐
相关产品推荐

