L' &
operatore invia un processo in background; come cd
può essere eseguito senza argomenti lo stai eseguendo e inviandolo in background. Se prendi la pagina man:
NOME
cd - Cambia la directory di lavoro della shell.
SINOSSI
cd
[ -L
| -P
] [ dir ]
DESCRIZIONE
Cambia la directory di lavoro della shell.
Cambia la directory corrente in DIR . Il DIR predefinito è il valore della HOME
variabile shell.
La variabile CDPATH
definisce il percorso di ricerca per la directory contenente
DIR . I nomi di directory alternativi in CDPATH
sono separati da due punti (:).
Un nome di directory null è uguale alla directory corrente. Se DIR inizia con una barra ( /
), CDPATH
non viene utilizzato.
Se la directory non viene trovata e l'opzione shell cdable_vars
è impostata, si presume che la parola sia un nome variabile. Se quella variabile ha un valore, il suo valore viene utilizzato per DIR .
Opzioni:
-L
forzare i collegamenti simbolici da seguire
-P
utilizzare la struttura di directory fisica senza seguire i collegamenti simbolici
L'impostazione predefinita è seguire i collegamenti simbolici, come se -L
fossero stati specificati.
Stato di uscita:
Restituisce 0 se la directory viene modificata; diverso da zero altrimenti.
GUARDA ANCHE
bash
(1)
IMPLEMENTAZIONE
GNU bash, versione 4.1.5 (1) -release (i486-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
Licenza GPLv3 +: GNU GPL versione 3 o successiva
Puoi vedere gli argomenti sono opzionali. Così
cd &
viene elaborato come
cd
e quindi inviato in background. Quando cd
viene chiamato senza argomento non è necessaria alcuna elaborazione. Quindi va in background come "fatto" (elaborato).
Alcune informazioni su &
The Bash &
(e commerciale) è un operatore di controllo integrato utilizzato per fork i processi. Dalla pagina man di Bash, "Se un comando viene terminato dall'operatore di controllo &
, la shell esegue il comando in background in una subshell".
Se si accede a una shell interattiva, al processo viene assegnato un numero di lavoro e viene visualizzato il PID figlio. Il numero di lavoro di seguito è uno.
bash$ sleep 30 &
[1] 3586
Si noti che quando un processo viene biforcato, il PID figlio viene archiviato nella variabile speciale $!
bash$ echo $!
3586
È possibile terminare il lavoro in base al suo numero di lavoro in questo modo:
bash$ jobs
[1]+ Running sleep 30 &
bash$ kill %1
[1]+ Terminated sleep 30
bash$