Cosa significa% 1 in "kill% 1"?


12

So che $!memorizza il pid dell'ultimo processo (in background), ma cosa %1significa? Lo vedo spesso insieme kille ha lo stesso effetto di kill $!. Qualcuno può darmi un suggerimento? (Termini così piccoli sono così difficili da google: - /)


Non proprio ... google.com/search?q=percent+1+bash (vedi terzo risultato)
Hello71,

Risposte:


10

Il %designatore si riferisce ai lavori nell'elenco dei lavori della shell corrente e restituisce il PID. Prova help jobs.


1
Ciò che mi confondeva era che man killdava alla pagina man un eseguibile esterno di kill che non dice nulla %. Ma bash ha anche un built-in killche come built-in ha la precedenza su quello esterno kille help killci dice che possiamo usare jobspecs con il built-in kille che essere in grado di usare jobspecs è uno dei motivi per cui è un built-in.
Ciro Santilli 7 病毒 审查 六四 事件 法轮功

8

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.


5
Pensavo che la qualità fosse il lavoro numero 1 ...
Ignacio Vazquez-Abrams,

1
@Ignacio Vazquez-Abrams: Sì, quello e le esigenze della natura.
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.