sto provando a scrivere uno script bash "live git log". Ecco il codice finora:chiudere il log git da uno script 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
mio problema è che git log utilizza un pager e si deve premere q per uscire o sarà semplicemente seduti lì per sempre. c'è un modo per codificare il comando quit in bash? Ho provato ad echeggiare q, senza fortuna. (ho visto un altro post qui che suggeriva echo "q">/dev/console - ma non c'è alcuna console di sviluppo nel mio ambiente)
sistema: win7 box - emulazione di bash con mingw (1.7.6.msysget.0)
UPDATE
ecco lo script finito
#!/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
il -40 è un gusto personale. cambiarlo in qualunque numero sia adatto a te e alle dimensioni dello schermo del terminale.
Aggiunte spiegazioni su '| cat -' –
fantastico! questo è il biglietto! ma non capisco perché. che cosa fa esattamente "gatto"? e perché sta sovrascrivendo il cercapersone? – xero
Costringe 'STDOUT' a passare' cat' –