동일한 터미널 창에서 두 개의 명령을 감시해야합니다. 나는 같은 것을 의미한다
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