bash - 输出流到输入
问题描述
我试图在 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
问题是,在我自己输入用户名和密码并且接下来打印出来之前,我没有得到回显部分。如何直接回显用户名和密码部分?
解决方案
您可以创建一个文件,例如 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
推荐阅读
- c++ - 在这种情况下,C++ 标准是否保证模板实例化点?
- javascript - Nginx 音频文件 (wav/ogg/mp3) 不工作
- c# - C#如何检查代理服务器是否工作?
- javascript - VueJS中对象的过滤值
- python - Python检查字典中的列表是否满足两个条件
- python - 在单个时代向前或向后传递或两者中真正发生了什么?
- javascript - 为什么取消选择不适用于可选择和可拖动的多个项目
- javascript - 无法在另一个组件内调用路由器出口组件
- php - 在 Google 我的商家问题上创建本地帖子
- python - 在我的 Android 设备上针对打开的应用程序运行 python 脚本,无需重新启动应用程序