I'm trying to run the equivalent of git clone
in Go but I want to exit out of the command if prompted for input from stdin (ex: authentication if an ssh key hasn't been set up in the remote repository). Is there a way to do this? Right now it will simply block on input.
如何在Go中禁用凭据提示以进行git clone?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- duandian2725 2017-09-27 12:19关注
UPDATE: special git solution.
Since v 2.3 git supports environment setting
GIT_TERMINAL_PROMPT=0
which says not to ask for credentials but fail.func main() { cmd := exec.Command("git", "clone", "https://github.com/some/non-existing-repo") os.Setenv("GIT_SSH_COMMAND", "ssh -oBatchMode=yes") // cmd.Env = append(os.Environ(), "GIT_TERMINAL_PROMPT=1", "GIT_SSH_COMMAND='ssh -oBatchMode=yes'") cmd.Stdout = os.Stdout err := cmd.Run() if err != nil { log.Println("Error: ", err) } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 树莓派安卓APK系统签名
- ¥15 maple软件,用solve求反函数出现rootof,怎么办?
- ¥65 汇编语言除法溢出问题
- ¥15 Visual Studio问题
- ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
- ¥20 求一个html代码,有偿
- ¥100 关于使用MATLAB中copularnd函数的问题
- ¥20 在虚拟机的pycharm上
- ¥15 jupyterthemes 设置完毕后没有效果
- ¥15 matlab图像高斯低通滤波