很多天前,我的 Arch Linux 的 zsh 按照我的要求运行:如果我输入`xsel`
并按下Tab,它将被 的输出替换xsel
。现在,在同一个盒子上,我得到了这个:
xsel: fstat error on stdin: Bad file descriptor
更奇怪的是,我现在已经安装了另一个 Arch Linux,使用相同的 zsh 和配置文件。它只是正确地进行了此扩展。
我编写了一个简单的脚本a
来发现标准输入发生了什么:
#!/bin/zsh
echo $(readlink /proc/self/fd/0)
让我们再试一次--- `./a`
,然后按Tab。在前一个框中,我得到了
pipe:\[4434444\]
而后者正是我想要的:
/dev/pts/6
我应该进一步做些什么来找出它们不同的原因并正确进行扩展?
答案1
我终于发现这是由这个引起的zsh-历史记录-子字符串搜索脚本来自我的.zshrc
。我仍然不知道为什么会发生这种情况,但我已经打开了一个问题为了这。