![使用 Heredoc 时 Git Bash 上的 Openssl 失败并出现错误](https://linux22.com/image/117055/%E4%BD%BF%E7%94%A8%20Heredoc%20%E6%97%B6%20Git%20Bash%20%E4%B8%8A%E7%9A%84%20Openssl%20%E5%A4%B1%E8%B4%A5%E5%B9%B6%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF.png)
我有一个为我生成 ssl 证书的脚本。屏幕以前在我的电脑上运行得很好,自从上次使用以来我没有更改脚本。今天我运行脚本并注意到一个错误行为。运行脚本后,终端不再打印我在控制台中输入的字符。我必须关闭并重新打开 Git Bash。
我试图找到问题的根源,最后提取了以下命令:
openssl req -new -key foobar.key -out foobar.csr -config <(cat <<EOF
[req]
default_bits = 2048
EOF
)
当我运行它时,会打印以下输出:
/proc/6180/fd/63 2292的-1行出错
:错误:02001003:系统库:fopen:没有这样的进程:bss_file.c:175:fopen('/proc/6180/fd/63','rb ')
2292:错误:2006D080:BIO例程:BIO_new_file:没有这样的文件:bss_file.c:182:
2292:错误:0E078072:配置文件例程:DEF_LOAD:没有这样的文件:conf_def.c:201:
当我将heredoc的内容放入文件并将其作为参数传递给时,-config
问题就消失了。我无法解释我的计算机上发生了什么变化导致了这个问题。我怎样才能进一步调试这个?