我正在编写一个运行的脚本git commit
。它需要/dev/stdout
清理管道/cmd 替换。
在这种情况下,$EDITOR
设置为nvim
。
$ git commit > /path/to/somewhere
hint: Waiting for your editor to close the file...
<I had to press Ctrl-C>
我认识到在管道传输过程中进行交互式会话是“不好的”,但我只打算用它来做这件事git commit
。
先感谢您!!
答案1
git commit
需要提交消息才能工作。通常,它通过使用编辑器提示您来获取此提交消息。但是,如果标准输出重定向,则无法正常工作,因此您需要使用选项自己指定消息,-m
或者通过设置GIT_EDITOR
为脚本或命令的名称来指定消息,该脚本或命令将编辑给定的文件以生成消息。
如果您的目标是重定向标准输出并让其使用您的编辑器,那么除非您的编辑器是图形化的(例如),否则这是不可能的gvim -f
。任何终端编辑器在运行时都会固有地写入标准输出。