zshrc export GPG _TTY=$ (tty )говорит, что это не tty

Приведенная ниже команда sed onliner делает то же самое. Проверено, работает нормально

sed -n '/cluster_name/,+1p' hosts.cluster.conf | sed -n '/host_name/p'

выход

  "host_name" : "worker02.sys87.com",
    "host_name" : "worker03.sys87.com",
    "host_name" : "worker05.sys87.com",
5
31.12.2020, 09:02
2 ответа
Команда

ttyтребует, чтобы стандартный ввод был подключен к терминалу. При использовании Powerlevel10k стандартный ввод перенаправляется с /dev/null, когда активируется Instant Prompt и до полной инициализации Zsh. Это объясняется более подробно в Powerlevel10k FAQ .

Чтобы решить эту проблему, вы можете либо переместить export GPG_TTY=$(tty)наверх ~/.zshrc, чтобы он выполнялся до активации мгновенной подсказки, либо (лучше! )используйте export GPG_TTY=$TTY. Последняя версия будет работать где угодно и более чем в 1000 раз быстрее. TTY— это специальный параметр, устанавливаемый Zsh очень рано во время инициализации. Это дает вам доступ к терминалу, даже если стандартный ввод может быть перенаправлен.

23
18.03.2021, 23:05

Я решил это так, просто поделился этим с другими.

Я переместил export GPG_TTY=$(tty)вверх. В частности, над инициализацией мгновенной подсказки p10k. Я не знаю, но если я экспортирую tty после выполнения этого скрипта, tty недоступен. В любом случае, я не эксперт в этой области, но это просто решает проблему для меня, и я надеюсь, что и для вас.

3
18.03.2021, 23:05

Теги

Похожие вопросы