いつ、なぜ kill %% を使用するのですか?

いつ、なぜ kill %% を使用するのですか?

kill %%ではなくを使用する人を見たことがありますがkill %、私の知る限り、どちらも同じことを行います。違いはありますか?

答え1

ドキュメントからの引用:

シェルでジョブを参照する方法はいくつかあります。文字 % はジョブ仕様 (jobspec) を導入します。ジョブ番号 n は %n として参照できます。ジョブは、ジョブを開始するために使用した名前のプレフィックスを使用して参照することも、コマンド ラインに表示される部分文字列を使用して参照することもできます。たとえば、%ce は停止された ce ジョブを参照します。プレフィックスが複数のジョブに一致する場合、bash はエラーを報告します。一方、%?ce を使用すると、コマンド ラインに文字列 ce を含むジョブを参照します。部分文字列が複数のジョブに一致する場合、bash はエラーを報告します。 シンボル%%および %+ は、シェルの現在のジョブの概念を参照します。現在のジョブは、フォアグラウンドで停止されたか、バックグラウンドで開始された最後のジョブです。前のジョブは %- を使用して参照できます。ジョブが 1 つしかない場合は、%+ と %- の両方を使用してそのジョブを参照できます。ジョブに関する出力 (例: jobs コマンドの出力) では、現在のジョブには常に + フラグが付けられ、前のジョブには - フラグが付けられます。 独身者 %(ジョブ指定が伴わない) 現在のジョブも参照します。

(強調は筆者による)

関連情報