我正在尝试编写一个“实时git日志”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——但我的环境中没有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是个人口味问题。将其更改为适合您和终端屏幕大小的任何数字。