我正在尝试编写一个“live 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中编写quit命令?我试着呼应q,没有运气. (我在这里看到另一篇文章建议使用echo“q”> / dev / console – 但我的环境中没有开发控制台)
system:win7 Box – 用mingw模拟bash(1.7.6.msysget.0)
UPDATE
这是完成的脚本
#!/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是个人品味.将其更改为适合您和您的终端屏幕大小的任何数字.
请尝试以下代码:
原文链接:https://www.f2er.com/bash/384817.htmlgit log \ --graph -10 \ --all \ --color \ --date=short \ --pretty=format:"%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset" | cat -
编辑
| cat – 不是特定于git,当你有一个寻呼机并且你想要打印到STDOUT时,它适用于每个用例