Много дней назад zsh моего Arch Linux сделал то, что я хочу: если я `xsel` и нажму Tab, он будет заменен на вывод xsel . Теперь, на той же коробке, я получаю это:

xsel: fstat error on stdin: Bad file descriptor

Что еще более странно, я сейчас установил еще один Arch Linux с теми же файлами zsh и config. Это просто делает это расширение правильно.

Я пишу простой сценарий a , чтобы узнать , что происходит с стандартным вводом:

#!/bin/zsh
echo $(readlink /proc/self/fd/0)

Давайте попробуем еще раз --- `./a` и нажмите Tab. На прежней коробке я получаю

pipe:\[4434444\]

и о последнем, чего я и хочу:

/dev/pts/6

Что мне делать дальше, чтобы выяснить, почему они отличаются, и получить правильное расширение?

1 ответ1

0

В конце концов я обнаружил, что это вызвано скриптом zsh-history-substring-search, источником которого является мой .zshrc когда он будет доступен. Я до сих пор не знаю, почему это происходит, но я открыл для этого проблему .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .