파이프로 bash 함수 출력 [닫기]

파이프로 bash 함수 출력 [닫기]

출력을 아름답게 하기 위해 bash 함수를 만들었습니다 svn. 이 함수는 커밋당 한 줄만 기록된다는 것을 보여줍니다. 정말 좋습니다! 마음에 들지만 파이프와 함께 사용하면 작동하지 않습니다. 다음에서 찾을 수 있습니다:github svn 미화

$ svn -log -l 2
r22  fabio  2014-03-27 12:38:10 +0100 (gio, 27 mar 2014)  1 line  Some comments
r23  fabio  2014-03-27 13:35:17 +0100 (gio, 27 mar 2014)  1 line  Some comments

와 함께 사용할 수 있다면 참 좋을 것 같아요 | grep.

답변1

당신은 이것을 가지고 있습니다 :

if [ "$SVN_COLOR" != "always" ] && ( 
        [ $NOCOL = 1 ] || [ "$SVN_COLOR" = "never" ] || [ ! -t 1 ]
)

이는 [ ! -t 1 ]함수가 조기에 반환되도록 하는 테스트입니다. 함수를 파이프로 파이프하면 stdout(파일 설명자 1)은 다음과 같습니다.아니요터미널.

답변2

이것은 확실히 일반적인 bash-function-with-pipes-문제가 아닙니다.

~$ x() { ls "$@" ; }
~$ x / | cat -n | head
     1  bin
     2  boot
     3  dev
     4  etc
     5  home
     6  initrd.img
     7  initrd.img.old
     8  lib
     9  lib32
    10  lib64

...코드 검토 전용 Stackexchange 사이트가 없나요? 거기 가서 물어봐도 될까요?

관련 정보