zsh 有时不显示标准输出

zsh 有时不显示标准输出

当我有一个命令在 stdout zsh 中生成大量内容时,最近(据我所知,过去 6 个月)停止显示输出。

例如当我做:

for i in `seq 2000`; do echo AAA; done

我没有得到任何输出,即使我按下新行(输入)光标也不会移动,但请求正在发出。

当我减少数量时seq

for i in `seq 20`; do echo AAA; done

我确实得到了输出。

当我在 bash 中运行这两个命令时,我每次都会得到输出。zsh 怎么了?它是否以某种方式开始缓冲 stdout?还是它出了seq什么问题?

zsh 版本:debian/5.6.2-3

我的 .zshrc 很长,但在一个版本中可以正常工作,而在另一个版本中它开始表现得很奇怪。是否有缓冲选项之类的?

更新:我已将其范围缩小到我的 zshrc 中的以下条目:

case $TERM in                                                                                                                                                                                                   
  *xterm*|rxvt|(dt|k|E|a)term)                                                  
    preexec () {                                                                
      print -Pn "\e]2;$1\a"                                                     
    }                                                                           
  ;;                                                                            
  screen*)                                                                      
    preexec () {                                                                
      print -Pn "\e\"$1\e\134"                                                  
    }                                                                           
  ;;                                                                            
esac                                                                            

相关内容