Почему исполняемый скрипт ведет себя иначе, чем когда его команды запускаются вручную?

Я пытаюсь добавить закрытый ключ в свой sshagent. Выполнение команд

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa_personal

отлично справляется со своей задачей, поэтому, когда я запускаю ssh-add -l, я вижу, что ключ был добавлен.Это также имеет место даже без запуска команды eval(что, возможно, вызывает вопрос, зачем мне ее запускать). Однако, если вместо этого я создам исполняемый файл add_key.sh(используя shebang и chmod +x) и добавлю в него эти точные команды, а затем запущу его, ssh- add -lне показывает ключ, а вместо этого показывает «У агента нет идентификаторов».

Если я закомментирую команду evalв сценарии и запущу ее, проблем не будет, и она правильно добавит ключ к агенту. Что такого в моем скрипте, из-за которого ssh-addне удается добавить ключ, и почему это не проблема, если я закомментирую команду evalиз скрипта или просто запущу команды вручную?

3
задан 1 January 2022 в 01:15

0 ответов

Другие вопросы по тегам:

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