首页 > 解决方案 > 输出流到输入

问题描述

我试图在 bash 中做一些与 git 相关的事情。我有点懒,想自动化 git add .、git commit 和 git push 部分。我遇到了密码部分的问题。我在bash中做了以下

username=myusername
password=mypassword
git add .
git commit -m "Next commit"
git push
echo $username
echo $password

问题是,在我自己输入用户名和密码并且接下来打印出来之前,我没有得到回显部分。如何直接回显用户名和密码部分?

标签: bash

解决方案


您可以创建一个文件,例如 Create file git_pass.sh

    #!/bin/sh
    exec echo "$GIT_PASSWORD"

然后,将您的密码分配给 GIT_PASSWORD 环境变量

    $ GIT_PASSWORD=your_password

最后,使用 GIT_ASKPASS 环境变量执行 git 命令。它将强制提示密码并执行 git_pass.sh 作为回调:

    $ GIT_ASKPASS=./git_pass.sh git push $REPO

推荐阅读