我正在尝试编写一个“实时 git log”bash 脚本。这是到目前为止的代码:
#!/bin/sh
while true;
do
clear
git log --graph -10 --all --color --date=short --pretty=format:"%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset"
sleep 3
done
我的问题是 git log 使用寻呼机,您必须按q退出,否则它将永远坐在那里。有没有办法在 bash 中对退出命令进行编码?我尝试呼应 q,但没有运气。(我在这里看到另一篇建议 echo "q" > /dev/console 的帖子——但我的环境中没有开发控制台)
系统:win7 box - 使用 mingw (1.7.6.msysget.0) 模拟 bash
更新
这是完成的脚本
#!/bin/sh
while true;
do
clear
git log \
--graph \
--all \
--color \
--date=short \
-40 \
--pretty=format:"%C(yellow)%h%x20%C(white)%cd%C(green)%d%C(reset)%x20%s%x20%C(bold)(%an)%Creset" |
cat -
sleep 15
done
-40 是个人品味。将其更改为适合您和终端屏幕尺寸的任何数字。