Ich spiele eigentlich mit Argumenten und es ist passiert. Ich habe nur nachgedacht, was passieren wird, wenn ich tippe $$1
und es tue und unten etwas bekomme.
raja@raja-BONEFISH:~$ $$1
19301: command not found
Was soll das heißen, sagt es etwas?
Fazit: Was bedeutet das $$1
in bash?
Antworten:
$$
ist die PID (Prozess-ID) des aktuellen Prozesses.$$1
ist die obige PID, gefolgt von der Literalzeichenfolge1
.Sie sagen also, dass dies
bash
der Prozess mit PID 1930 ist.Aber ... Freistoß:
(ziemlich verworren, nicht wahr?)
Weitere Infos in TLDP .
quelle
$$
- pid der aktuellen Shell (nicht Subshell) - siehe Was sind die speziellen Dollarzeichen-Shell-Variablen?$$1
- pid der aktuellen Shell (nicht Subshell) gefolgt von1
.$$2
- pid der aktuellen Shell (nicht Subshell) gefolgt von2
.$$a
- pid der aktuellen Shell (nicht Subshell) gefolgt von einema
Zeichen.Und so weiter...
Siehe die Ausgabe von
echo $$1
.Und Sie erhalten den Fehler,
command not found
weil Sie versuchen, einen aus Ziffern bestehenden String auszuführen, der offensichtlich kein Befehl ist.quelle
Sie haben verkettet
$$
und1
zusammen, um die PID der aktuellen Shell zu erhalten1
, dh$$
steht für die PID der aktuell ausgeführten Shell und1
ist nur ein Zeichen, das Sie tun$$a
können$$@
, um die PID mit dem folgenden Zeichen zu verketten.quelle
$$ es wird angegeben,
1930
welches pid ist der aktuellen Shell ist.Wenn Sie eingeben
$$1
, bedeutet dies, dass pid gefolgt von eins, damit Sie die Ausgabe erhalten19301
.Versuchen Sie,
$$2
die Ausgabe zu sein19302
quelle