명령에 출력이 있는지 확인하는 방법(zsh)

명령에 출력이 있는지 확인하는 방법(zsh)

명령의 출력이 있는 경우 명령 뒤에 새 줄을 인쇄하고 싶습니다(터미널이 스크롤을 시작한 후에 더 쉽게 읽을 수 있기를 바랍니다).

나는 이것을 찾았다:

precmd() {
    precmd() {
        print ""
    }
}

이것은 작동하지만 분명히 각 명령 뒤에 줄을 인쇄합니다.

이:

precmd () {                        
    exec 2>&- >&-
    lastline=$(tail -1 ~/.command.out)
    sleep 0.1
    exec > /dev/tty 2>&1
}

preexec() {
    exec > >(tee ~/.command.out&)
}

수정을 시도했지만 수정하지 않아도 출력이 "손상"되어 vim을 사용할 수 없게 되었습니다.

답변1

비슷한 것을 찾고 계십니까? 스크립트는 첫 번째 인수로 실행되며 명령이 stdout에 무엇이든 출력하면 개행 문자도 인쇄됩니다.

#!/bin/bash

if [[ $($1 | tee /dev/tty) ]]; then
    echo
fi

관련 정보