Обратите внимание, что я не использую (а) одобрить, (б) потворствовать использованию, или (в) не поддерживать необоснованные предубеждения против пользователей рыбы. Таким образом, мой совет очень подозрительный, и вполне вероятно, что есть гораздо лучшие способы сделать это.
ствуйте, я пытаюсь перевести мой .bashrc в почти готовый формат fish, в основном это ясно из документации, но эта часть вызывает у меня головную боль ... так что мой gnupg работает с моим yubikey ssh и т. Д. И т. Д. Рыбная версия - последняя 3.0 под Arch GNU / Linux
оригинал на BASH:
# Set SSH to use gpg-agent
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $ ]; then
export SSH_AUTH_SOCK="/run/user/$UID/gnupg/S.gpg-agent.ssh"
fi
echo "UPDATESTARTUPTTY" | gpg-connect-agent > /dev/null 2&>1
Моя половина превращается в рыбу:
set -e SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $ ]
set -x SSH_AUTH_SOCK="/run/user/$UID/gnupg/S.gpg-agent.ssh"
end
echo "UPDATESTARTUPTTY" | gpg-connect-agent > /dev/null 2>&1
так как вы видите выше, я до сих пор конвертировал stdin и stderror pine и переменную unset с помощью set -e, ошибка, которую я имею, немного более неясна для меня:
~/.config/fish/config.fish (line 33): ${ is not a valid variable in fish.
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $ ]
^
from sourcing file ~/.config/fish/config.fish
called during startup
Любая помощь будет высоко ценится, кстати, тоже неплохо будет мигрировать :) Есть ли там что-нибудь?
[edit] хорошо, все заработало благодаря ответу ниже, теперь все мое окружение bash, профиль, bashrc и т. д. переведены на fish и используют его исключительно в качестве оболочки 100%