从脚本运行时git命令不起作用

时间:2015-07-22 10:57:20

标签: git bash shell git-bash

我正在尝试从脚本运行bellow命令:

eval $(ssh-agent -s)
ssh-add

它们背后的目的是避免在当前会话的剩余时间内被要求提供我的git密钥。逐个输入命令可以正常工作,所以我将它们放在这个脚本中:

#!/bin/bash 

eval $(ssh-agent -s)
ssh-add

运行后我从git得到了正确的答案:

$ gitnopasskey.sh
Agent pid 4260
Enter passphrase for /u/.ssh/id_rsa:
Identity added: /u/.ssh/id_rsa (/u/.ssh/id_rsa)

但每次我取,拉等时我仍然会被提示输入我的密钥。我已经复制了脚本中使用的命令并逐个输入,以确保我输入相同的命令,但是结果是相同的 - 它在输入命令时起作用,从脚本运行它们时不起作用。

1 个答案:

答案 0 :(得分:2)

脚本在自己的shell中运行。尝试采购脚本:

try ... catch

否则所有环境变量都将在您的父shell中不受影响(就像脚本中的cd不会触及父项的工作目录一样)