Cosa significa l'output del comando seguente? (il risultato è un numero intero positivo)
echo $$
Cosa significa l'output del comando seguente? (il risultato è un numero intero positivo)
echo $$
Risposte:
La $$variabile in bash e altre shell contiene l'id di processo della shell.
Vedi questa domanda Stack Overflow e questa ha anche maggiori dettagli su cosa sia più preciso e comandi simili ad esso.
Come indicato dall'altra risposta (accettata), $ param rappresenta l'attuale ID di processo (PID) della shell corrente.
L'eco di questo parametro dovrebbe funzionare nella maggior parte delle shell (non solo in Bash):
bash:
$ echo $0
bash
$ echo $$
6780
Bourne:
$ echo $0
sh
$ echo $$
6988
C-Shell:
% echo $shell
/bin/csh
% echo $$
7613
È anche importante notare che i comandi all'interno della shell verranno eseguiti con l' ID del processo padre (PPID) della shell.
$ echo $$
6780
$ ps -ef | grep 6780
aploetz 6780 6770 0 11:15 pts/2 00:00:00 bash
aploetz 8572 6780 0 11:34 pts/2 00:00:00 ps -ef
aploetz 8573 6780 0 11:34 pts/2 00:00:00 grep --color=auto 6780