Обратите внимание, что я не использую (а) одобрить, (б) потворствовать использованию, или (в) не поддерживать необоснованные предубеждения против пользователей рыбы. Таким образом, мой совет очень подозрительный, и вполне вероятно, что есть гораздо лучшие способы сделать это.

ствуйте, я пытаюсь перевести мой .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%

Ответы на вопрос(2)

Ваш ответ на вопрос