Estoy tratando de escribir un script bash 'live git log'. Aquí está el código hasta ahora:saliendo de registro de git desde un 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
mi problema es que git log utiliza un localizador y hay que presionar q dejar de fumar o que sólo se sentará allí para siempre. ¿Hay alguna forma de codificar el comando quit en bash? Traté de hacer eco de q, sin suerte. (Vi otro post aquí que sugería echo "q">/dev/console - pero no hay ninguna consola dev en mi entorno)
sistema: win7 caja - emulando fiesta con MinGW (1.7.6.msysget.0)
ACTUALIZACIÓN
aquí está el guión terminado
#!/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
el -40 es un gusto personal. cámbielo a cualquier número que se adapte a usted y al tamaño de su pantalla de terminal.
Explicaciones adicionales sobre '| cat -' –
¡increíble! ese es el boleto! pero no entiendo por qué ¿Qué está haciendo exactamente "cat -"? y ¿por qué está anulando el buscapersonas? – xero
Obliga a 'STDOUT' a pasar por' cat' –