Risposte:
Citando la documentazione:
Esistono diversi modi per fare riferimento a un lavoro nella shell. Il carattere% introduce una specifica del lavoro (jobspec). Il numero di lavoro n può essere indicato come% n. È inoltre possibile fare riferimento a un lavoro utilizzando un prefisso del nome utilizzato per avviarlo o utilizzando una sottostringa che appare nella sua riga di comando. Ad esempio,% ce fa riferimento a un processo ce interrotto. Se un prefisso corrisponde a più di un lavoro, bash segnala un errore. L'uso di%? Ce, d'altra parte, si riferisce a qualsiasi lavoro contenente la stringa ce nella sua riga di comando. Se la sottostringa corrisponde a più di un lavoro, bash segnala un errore. I simboli %%e% + si riferiscono alla nozione di shell del lavoro corrente, che è l'ultimo lavoro interrotto mentre era in primo piano o avviato in background. È possibile fare riferimento al lavoro precedente usando% -. Se esiste un solo lavoro,% + e% - possono entrambi essere usati per fare riferimento a quel lavoro. Nell'output relativo ai lavori (ad esempio, l'output del comando jobs), il lavoro corrente viene sempre contrassegnato con un + e il lavoro precedente con un -. Una singola% (senza specifiche del lavoro di accompagnamento) si riferisce anche al lavoro corrente.
(enfatizzare il mio)
%% viene utilizzato negli script di Windows per indicare un '%', poiché% è un carattere speciale. Tuttavia, anche gli interpreti di script di Windows cercano di essere intelligenti e se un% viene dato tutto da solo con spazi bianchi attorno ad esso, viene trattato come un% .. È fastidioso e sciocco ma ci sei.