当我在 Git 中处理合并冲突时,我指定的编辑器会弹出,我可以编辑 Git 合并消息。当我关闭文件时,Git 合并过程继续。
这是怎么做的?我想在 bash 脚本中做类似的事情。你会创建一个临时文件并监听这个文件的变化吗?还是有其他方法?
在 bash 中,它看起来像这样:
# Launch editor. 'editor' is a fake command shown as example.
editor -f '/path/to/file'
returnCode=$?
# Ensure the process exited without error.
if [[ $returnCode == "0" ]] ; then
# Take action...
fi
Git 创建一个打开编辑器的子进程,然后等待该子进程完成。当子进程由于用户关闭编辑器而终止时,它会检查文件中的未注释文本。例如,看一下git 的 launch_editor函数。它.git/COMMIT_EDITMSG
用作要读取的文件。