なぜコマンドグループを「良くする」ことができないのですか?

なぜコマンドグループを「良くする」ことができないのですか?
[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

あなたが好む使用方法はシェルで予約語でなければなりませんが、これは別の単純なコマンドを引数として要求する一般的なコマンドですnicenice

複数のシェルが見たいことをする場合にのみ可能です。このtimeコマンドは、一部のシェルでは予約語としても存在します。

答え2

ユーティリティniceは他のオペランドと見なします。便利(パラメータがある可能性があります)サブシェルや複合コマンドは必要ありません。

複合コマンドを実行するには、niceサブシェルを使用します。

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

また見なさい:

関連情報