it-swarm.com.de

Was ist $$ in Bash?

es gibt ein Skript, das ich damit entwickelt habe. Es hat eine Befehlszeile wie folgt:

mytemp=`echo ${sourcedir}|awk -F/ '{printf "/%s/tmp",$2}'`/`basename $0`-$1.$$

am letzten Befehl sehen wir $$, das eine Zahl erzeugt. Wenn ich echo $$ in bash verwende, sehe ich auch eine Zahl wie unten:

 #echo $$
 23019

was genau ist diese Nummer und was ist $$?

27
amir jj

Von Advanced Bash-Scripting Guide :

$$ ist die Prozess-ID (PID) des Skripts.

$ BASHPID ist die Prozess-ID der aktuellen Instanz von Bash. Dies ist nicht dasselbe wie die Variable $$, führt jedoch häufig zum gleichen Ergebnis.

30
coffeMug

$$ ist die Prozess-ID der aktuellen Shell-Instanz. In Ihrem Fall ist die Zahl 23019 die PID dieser Instanz von bash.

Folgendes sollte Ihnen eine bessere Vorstellung geben:

ps -p $$
10
heemayl