Quando/por que você usa kill %%?

Quando/por que você usa kill %%?

Já vi pessoas usarem kill %%em vez de kill %. Pelo que posso dizer, ambos fazem o mesmo. Existe alguma diferença?

Responder1

Citando a documentação:

Existem diversas maneiras de se referir a um trabalho no shell. O caracter % introduz uma especificação de trabalho (jobspec). O número do trabalho n pode ser referido como %n. Um trabalho também pode ser referido usando um prefixo do nome usado para iniciá-lo ou usando uma substring que aparece em sua linha de comando. Por exemplo, %ce refere-se a um trabalho ce interrompido. Se um prefixo corresponder a mais de um trabalho, o bash reportará um erro. Usar %?ce, por outro lado, refere-se a qualquer trabalho que contenha a string ce em sua linha de comando. Se a substring corresponder a mais de um trabalho, o bash reportará um erro. Os símbolos %%e %+ referem-se à noção do shell do trabalho atual, que é o último trabalho interrompido enquanto estava em primeiro plano ou iniciado em segundo plano. O trabalho anterior pode ser referenciado usando %-. Se houver apenas um único trabalho, %+ e %- poderão ser usados ​​para se referir a esse trabalho. Na saída referente a trabalhos (por exemplo, a saída do comando jobs), o trabalho atual é sempre sinalizado com um + e o trabalho anterior com um -. Uma única%(sem especificação de cargo acompanhante) também se refere ao cargo atual.

(ênfase minha)

informação relacionada