So che $!
memorizza il pid dell'ultimo processo (in background), ma cosa %1
significa? Lo vedo spesso insieme kill
e ha lo stesso effetto di kill $!
. Qualcuno può darmi un suggerimento? (Termini così piccoli sono così difficili da google: - /)
So che $!
memorizza il pid dell'ultimo processo (in background), ma cosa %1
significa? Lo vedo spesso insieme kill
e ha lo stesso effetto di kill $!
. Qualcuno può darmi un suggerimento? (Termini così piccoli sono così difficili da google: - /)
Risposte:
Il %
designatore si riferisce ai lavori nell'elenco dei lavori della shell corrente e restituisce il PID. Prova help jobs
.
man kill
dava alla pagina man un eseguibile esterno di kill che non dice nulla %
. Ma bash ha anche un built-in kill
che come built-in ha la precedenza su quello esterno kill
e help kill
ci dice che possiamo usare jobspecs con il built-in kill
e che essere in grado di usare jobspecs è uno dei motivi per cui è un built-in.
Quello che vuoi su Google è man bash
Esistono diversi modi per fare riferimento a un lavoro nella shell. Il carattere% introduce un nome lavoro. 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 si riferisce 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 della 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% -. Quando esiste solo il lavoro corrente,% - si riferisce alla nozione della shell del lavoro corrente. Nell'output relativo ai lavori (ad esempio, l'output del comando jobs), il lavoro corrente è sempre contrassegnato con un + e il lavoro precedente con un -. Una singola% (senza specifiche del lavoro di accompagnamento) si riferisce anche al lavoro corrente.
La semplice denominazione di un lavoro può essere utilizzata per portarlo in primo piano:% 1 è sinonimo di '' fg% 1 '', portando in primo piano il lavoro 1 dallo sfondo. Allo stesso modo, ''% 1 & '' riprende il lavoro 1 in background, equivalente a '' bg% 1 ''.
TL; DR: %1
è il numero di lavoro 1.