Je joue en fait avec des arguments et c'est arrivé. Je pensais juste voir ce qui se passerait si je tape $$1
et je l'ai fait et j'ai obtenu quelque chose ci-dessous.
raja@raja-BONEFISH:~$ $$1
19301: command not found
Qu'est-ce que cela signifie en 19301, est-ce que ça dit quelque chose?
Bottom-Line: qu'est-ce que cela signifie pour $$1
bash.
Réponses:
$$
est le PID (identifiant de processus) du processus en cours.$$1
est le PID ci-dessus suivi de la chaîne littérale1
.Donc, cela vous dit que
bash
c'est le processus avec le PID 1930.Mais ... astuce gratuite:
(assez alambiqué, n'est-ce pas?)
Plus d'informations dans TLDP .
la source
$$
- pid du shell actuel (pas sous-shell) - voir Quelles sont les variables spéciales du shell du signe dollar?$$1
- pid du shell courant (pas de sous-shell) suivi de1
.$$2
- pid du shell courant (pas de sous-shell) suivi de2
.$$a
- pid du shell courant (pas sous-shell) suivi dua
caractère.Etc...
Voir la sortie de
echo $$1
.Et vous obtenez l'erreur
command not found
parce que vous essayez d'exécuter une chaîne composée de chiffres qui n'est évidemment pas une commande.la source
Vous avez concaténé
$$
et1
ensemble pour obtenir le PID du shell actuel et1
, c'est-à-dire$$
le PID du shell en cours d'exécution et1
n'est qu'un caractère, vous pouvez le faire$$a
,$$@
pour obtenir le PID concaténé avec le caractère suivant.la source
$$ il indiquera
1930
quel est le pid du shell actuel.Lorsque vous tapez,
$$1
cela signifie pid suivi d'un pour que la sortie soit19301
.Essayez
$$2
la sortie sera19302
la source