¿Cuándo/por qué usas kill %%?

¿Cuándo/por qué usas kill %%?

He visto gente usar kill %%en lugar de kill %. Por lo que puedo decir, ambos hacen lo mismo. ¿Hay una diferencia?

Respuesta1

Citando la documentación:

Hay varias formas de hacer referencia a un trabajo en el shell. El carácter % introduce una especificación de trabajo (jobspec). El número de trabajo n puede denominarse %n. También se puede hacer referencia a un trabajo utilizando un prefijo del nombre utilizado para iniciarlo o utilizando una subcadena que aparece en su línea de comando. Por ejemplo, %ce se refiere a un trabajo ce detenido. Si un prefijo coincide con más de un trabajo, bash informa un error. Por otro lado, usar %?ce se refiere a cualquier trabajo que contenga la cadena ce en su línea de comando. Si la subcadena coincide con más de un trabajo, bash informa un error. Los símbolos %%y %+ se refieren a la noción del shell del trabajo actual, que es el último trabajo detenido mientras estaba en primer plano o iniciado en segundo plano. Se puede hacer referencia al trabajo anterior utilizando %-. Si solo hay un trabajo, %+ y %- se pueden usar para hacer referencia a ese trabajo. En la salida correspondiente a trabajos (por ejemplo, la salida del comando jobs), el trabajo actual siempre se marca con un + y el trabajo anterior con un -. Un solo %(sin especificación de trabajo adjunta) también se refiere al trabajo actual.

(el énfasis es mío)

información relacionada