git - 当 stdout 和 stderr 都被重定向时,为什么 git 仍然打印到屏幕上?
问题描述
我想静音我的 CI 系统中使用的 git push 命令的输出,这可能会泄漏敏感信息。
命令是:
git --quiet push > /dev/null 2>&1
所以它不应该在屏幕上打印任何东西。但是Password for 'https://xxxx@github.com':
当身份验证失败时它仍然会打印。
这怎么会发生以及如何使其静音?
更新:虽然我不确定,但我猜是 git 调用getpass()
或类似的直接写入的东西/dev/tty
。
解决方案
为了防止密钥记录和解决重定向密码提示是通过完成的/dev/tty
。看看这是如何在 Python 的getpass中完成的。
推荐阅读
- javascript - NullInjectorError:没有自定义组件的提供者 - 添加到提供者不起作用
- numpy - 大高斯分布的稳定采样
- c# - 当 ASP.NET Core 应用程序关闭时,如何正确、安全地处理在容器中注册的单例实例
- python - 如何将 .png 文件转换为多部分文件?
- .htaccess - Apache mod_rewrite RewriteRule 未被拾取
- c++ - 使用基类对象调用派生类函数
- xamarin - Xamarin Live Player 无法连接 - 不断重置地址
- reactjs - 将虚拟钢琴与 midi-Keyboard 链接
- c++ - 对内联行为 C++ 的困惑
- powershell - 将某些特定文件从文件夹结构移动到另一个具有相同目录结构的文件