Quando / perché usi kill %%?


3

Ho visto le persone usare kill %%piuttosto che kill %. Per quanto ne so, entrambi fanno lo stesso. C'è una differenza?

Risposte:


5

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)


Quindi, in sostanza, sia %% che% si riferiscono al lavoro corrente (più recente). Buono a sapersi che anche %% è valido - sospettavo che il secondo% non fosse necessario.
cadde il

-4

%% 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.


2
Questa domanda è taggata "linux"
Paul
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.