따옴표가 포함 된 인수와 함께 watch 명령 사용


15

따옴표가 포함 된 명령으로 시계가 올바르게 작동하도록 노력 중이며 watch 매뉴얼 페이지는 따옴표가 어떻게 작동하는지에 대해 자세히 설명하지 않습니다. 구체적인 예를 들어, 시계 내에서 다음 명령을 어떻게 실행할 수 있습니까?

ps -ef | awk -F' ' '{print $2}'

난 노력 했어:

watch "ps -ef | awk -F' ' '{print $2}'"

watch 'ps -ef | awk -F\' \' \'{print $2}\''

그러나 이들 중 어느 것도 올바르게 작동하지 않습니다.

답변:


18

나는 당신이 $기호 를 탈출해야한다고 생각합니다 .

watch "ps -ef | awk -F' ' '{print \$2}'"

그렇지 않으면 쉘에 의해 해석되어 빈 문자열 ( "")이 생깁니다. 즉 awk, 전체 줄을 인쇄합니다.


7

항상 명령을 쉘 스크립트에 넣은 다음 스크립트를 "감시"할 수 있습니다.


2

방금 비슷한 문제가 발생했습니다. watch Man Page를 읽은 후 작동 할 수있는 솔루션을 찾았습니다.이 솔루션은 문자열을 bash에 연결하는 것입니다. 마지막 명령은 다음과 같이 이상하게 보였습니다.

watch "ps -ef | awk -F' ' '"'{print $2}'"'"

또는

watch 'ps -ef | awk -F'"' ' '"'{print $2}'"'"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.