왜 명령 그룹을 "좋게" 만들 수 없나요?

왜 명령 그룹을 "좋게" 만들 수 없나요?
[fakename]$ nice yes a>/dev/null &
[1] 26475
[fakename]$ ps -p 26475 -o nice,pid
 NI   PID
 10 26475
[fakename]$ nice { yes a>/dev/null; } &
-bash: syntax error near unexpected token `}'

nice사령부 그룹 에 들어갈 수 있는 방법이 있나요 ?

한 가지를 알고 있습니다. 명령 그룹을 정상적으로 실행하려면 앰퍼샌드를 추가하여 백그라운드에 놓은 다음 renice명령 그룹에서 사용하십시오. 그러나 동일한 작업을 수행할 수 있는 방법이 있습니까 nice?

또한 왜 이런 오류가 발생합니까? nice쉘 키워드가 아니기 때문에 표준 bash 매개변수 구문 분석 규칙을 따라야 한다는 뜻인가요 ?

답변1

당신이 선호하는 사용 방법은 쉘에서 예약어여야 하지만, 이는 또 다른 간단한 명령을 인수로 요구하는 일반적인 명령일 뿐입니다 nice.nice

여러 개의 쉘이 보고 싶은 작업을 수행하는 경우에만 가능합니다. 이 time명령은 일부 쉘에서 예약어로도 존재합니다.

답변2

유틸리티 nice는 다른 피연산자로 취합니다.유용(매개변수가 있을 수 있음) 하위 쉘이나 복합 명령이 필요하지 않습니다.

복합 명령을 실행하려면 nice서브셸을 사용하십시오.

nice sh -c 'mycommand; somethingelse; while [ something ]; do ...; done'

또한보십시오:

관련 정보