파이프로 연결된 명령/프로그램 체인과 함께 watch 명령을 사용하는 방법

파이프로 연결된 명령/프로그램 체인과 함께 watch 명령을 사용하는 방법

나는 보통 watchLinux 유틸리티를 사용 하여 n.watch df -h /some_volume/

watch하지만 다음과 같은 일련의 파이프 명령을 사용할 수 없는 것 같습니다 .

$ watch ls -ltr|tail -n 1

그렇게 하면 은(는) watch실제로 지켜보고 있으며 아무 것도 출력하지 않는 ls -ltr출력이 전달됩니다 .tail -n 1

내가 이것을 시도하면 :

$ watch (ls -ltr|tail -n 1)

나는 얻다

$ watch: syntax error near unexpected token `ls'

그리고 다음 중 하나는 어떤 이유로든 실패합니다.

$ watch <(ls -ltr|tail -n 1)

$ watch < <(ls -ltr|tail -n 1)

$ watch $(ls -ltr|tail -n 1)

$ watch `ls -ltr|tail -n 1)`

그리고 마지막으로 이렇게 하면:

$ watch echo $(ls -ltr|tail -n 1)

$()내부 명령이 한 번만 실행되고 결과 출력 문자열이 항상 리터럴로 인쇄("감시")되기 때문에 주어진 간격에서 출력에 변화가 없습니다 .

watch그렇다면 명령이 파이프로 연결된 명령 체인과 함께 작동하도록 하려면 어떻게 해야 할까요 (다른 명령을 스크립트 내에 넣는 것 제외)?

답변1

watch 'command | othertool | yet-another-tool'

답변2

watch -n 1 "ls -lrt | tail -n20; date"

연속해서 파이프하고 실행해 봅시다.

답변3

'작은따옴표( )와 큰따옴표( ) 를 조합하여 사용하세요 ". 예를 들어:

watch -n 1 "links -dump 127.0.0.1/server-status | grep -e '\S' -Fe 'www.'"

답변4

명령을 실행한 다음 이를 보고 싶다고 가정해 보겠습니다. 사용:

ls -lrt | tail -n20; date
watch "!!"

관련 정보