当按下tab
自动完成命令(例如cd
)时,bash 在完成之前会挂起几秒钟。
- 当不使用任何东西时
set -x
,在挂起之前打印 - 从 tty 控制台使用时
Ctrl-Alt-FXX
没有延迟 - strace 表明问题出在
rl_getc
:
3428 11:03:21.516869 pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0]) <3.154249>
> /lib/x86_64-linux-gnu/libc-2.27.so(pselect+0x59) [0x116dc9]
> /bin/bash(rl_getc+0xb2) [0xc4032]
> /bin/bash(rl_read_key+0xc4) [0xc48c4]
> /bin/bash(readline_internal_char+0x77) [0xad187]
> /bin/bash(readline+0x45) [0xad945]
> /bin/bash(reader_loop+0x699) [0x32759]
> /bin/bash(decode_prompt_string+0x101d) [0x34b3d]
> /bin/bash(read_secondary_line+0x2aca) [0x37b8a]
> /bin/bash(yyparse+0x428) [0x3b308]
> /bin/bash(parse_command+0x36) [0x31ef6]
> /bin/bash(read_command+0x58) [0x31ff8]
> /bin/bash(reader_loop+0x119) [0x321d9]
> /bin/bash(main+0xecf) [0x30c8f]
> /lib/x86_64-linux-gnu/libc-2.27.so(__libc_start_main+0xe7) [0x21c87]
> /bin/bash(_start+0x2a) [0x3155a]
(记录为sudo strace -t -k -t -f -T -s9999 -p3428
)
我已经尝试过步骤这里包括卸载 git 和关闭声音。我也注释掉了我的内容,.bashrc
但无济于事。
关于这里可能出现的问题有什么想法吗?
答案1
我正在使用 iTerm2 在 macOS 上工作。我通过检查 iTerm 中的“静音铃”选项解决了该问题。
设置>配置文件(默认)>终端>通知> ✅沉默的钟声