Приведенная ниже команда 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",
tty
требует, чтобы стандартный ввод был подключен к терминалу. При использовании Powerlevel10k стандартный ввод перенаправляется с /dev/null
, когда активируется Instant Prompt и до полной инициализации Zsh. Это объясняется более подробно в Powerlevel10k FAQ .
Чтобы решить эту проблему, вы можете либо переместить export GPG_TTY=$(tty)
наверх ~/.zshrc
, чтобы он выполнялся до активации мгновенной подсказки, либо (лучше! )используйте export GPG_TTY=$TTY
. Последняя версия будет работать где угодно и более чем в 1000 раз быстрее. TTY
— это специальный параметр, устанавливаемый Zsh очень рано во время инициализации. Это дает вам доступ к терминалу, даже если стандартный ввод может быть перенаправлен.
Я решил это так, просто поделился этим с другими.
Я переместил export GPG_TTY=$(tty)
вверх. В частности, над инициализацией мгновенной подсказки p10k. Я не знаю, но если я экспортирую tty после выполнения этого скрипта, tty недоступен. В любом случае, я не эксперт в этой области, но это просто решает проблему для меня, и я надеюсь, что и для вас.