watch run 2 명령 사용 감시해야합니다. 나는 같은 것을 의미한다 watch

동일한 터미널 창에서 두 개의 명령을 감시해야합니다. 나는 같은 것을 의미한다

watch du -h filename.txt && df -h

그러나 출력은 하나만 표시됩니다.

그래서 내가 생각하는 것은 watch를 사용하여 동일한 창에서 여러 명령을 실행하지 못할 수 있다는 것입니다.

어떤 방법이 있으면 알려주십시오.

감사합니다.



답변

명령을 인용 할 수 있습니다.

watch "du -h filename.txt && df -h"

그리고 그들은 함께 처형 될 것입니다.


답변

두 명령을 모두 실행하려면 . ;대신 명령을 분리하는 방법 중 하나 입니다 &&.

watch 'du -h filename.txt; df -h'

&&&&첫 번째 명령이 성공적으로 실행 된 경우 (exit status 0) 에만 두 번째 명령 (오른쪽의 두 번째 피연산자)을 실행할 수 있습니다. 이것이 의도 된 동작이라면로 이동하십시오 &&.


답변

완전성을 위해 …

 watch 'du -h filename.txt || true && df -h'

‘|| true ‘부분은 어떤 이유로 실패하더라도 첫 번째 명령이 true로 평가되도록합니다. 이렇게하면 && 다음에 나오는 다음 명령이 첫 번째 출력에 관계없이 실행될 수 있습니다. 이것은 시나리오에서 불필요하며 가능한 것으로 표시합니다.


답변

여러 명령을 동시에 실행 &하려면 명령 사이에 단일 연산자를 사용하십시오. 처럼:

dothis & dothat

혼동을 없애기 위해 다음은 다양한 연산자의 작동 방식입니다.

c1 & c2  # Run both commands parallelly
c1 ; c2  # Run both commands one by one
c1 && c2 # Run c2 only if c1 exits successfully
c1 || c2 # Run c2 only if c1 fails