2012-10-01 3 views
7

'live git log'bash 스크립트를 작성하려고합니다. 여기에 지금까지 코드입니다 :bash 스크립트에서 git 로그를 닫으십시오.

#!/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 

내 문제는 자식 로그 호출기를 사용하고 종료하는 Q를 눌러하거나 그냥 영원히 거기 앉아 것입니다. bash에서 quit 명령을 코딩하는 방법이 있습니까? 나는 행운이없이 q를 울려 보았습니다. (나는 여기에 또 다른 게시물을 보았습니다 "q">/dev/console -하지만 내 환경에는 dev 콘솔이 없습니다)

시스템 : win7 상자 - mingw (1.7.6.msysget.0)를 에뮬레이트하는 bash)

UPDATE

여기 -40 개인 맛 완성 된 스크립트를

#!/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 

을합니다. 너와 너의 터미널 스크린 크기에 맞는 숫자로 바꿔라.

답변

4

다음 코드 시도 트릭 할 것 :

git log \ 
    --graph -10 \ 
    --all \ 
    --color \ 
    --date=short \ 
    --pretty=format:"%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset" | 
    cat - 

편집

| cat - 것은 자식 특정하지 않습니다 , 각 U에서 작동합니다. SE의 경우 당신은 호출기을 때 :

git --no-pager log 

그래서 전체 명령이 될 것입니다 당신은 호출기가 --no-길을 가야하는 것입니다 추가 STDOUT

+0

'에 대한 설명이 추가되었습니다. cat -' –

+0

굉장해! 그게 티켓이야! 그러나 나는 왜 이해하지 않는다. "cat -"은 정확히 무엇입니까? 호출기를 무시하는 이유는 무엇입니까? – xero

+1

강제로'STDOUT'을 강제로'cat' –

1

설정, 스크립트에서 :

export PAGER= 

+0

나는 쉬 뱅 라인과 while 루프에서 운이없는 것을 지쳤다. 실제로 그것은 전혀 효과가없는 것처럼 보입니다. 나는 아무것도, 덜, 더, 그리고 askodjaskdlj (내가 추측 할 오류가 발생해야합니다) 설정하지만 나는 내 결과에서 아무것도 얻을 지쳐서 피곤해. – xero

21

에 인쇄 할 것

git --no-pager log --graph -10 --all --color --date=short --pretty=format:"%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset" 
+1

ok, 시작입니다. 나는 - 호출기 플래그가 없다는 소식을 들었다. 그 명령을 호출 해보십시오. 포맷팅은 완전히 없어졌으며 출력물에 이스케이프 문자가 있다고 가정합니다. 완전히 쓸모없는 출력. * [31m \t 4c29b0d [m2012-10-01 [34m (HEAD) [m] test.php [1m (xero) [m – xero

+0

] 내 Windows 7 상자에서 제대로 작동합니다. 터미널 구성에 엉망인 것 같아요? 나는 mingw를 통하지 않고 명령어 프롬프트와 함께 사용하고있다. – eis

+0

을 확인해야했습니다 - cygwin bash + 다른 환경에서도 문제없이 작동합니다. 그래도 밍 경험이 없습니다. – eis

관련 문제