Verwenden von „$“ in der Shell

Verwenden von „$“ in der Shell

Ich bin neu bei Ubuntu und habe versucht,OpenFOAMDie Installation hat einwandfrei funktioniert. Danach habe ich das allererste Beispiel kopiert und eingefügt. Das hat auch funktioniert. Aber ich verstehe nicht, wie. Es gibt lustige Befehle wie:

mkdir -p $FOAM_RUN 

Dadurch wird die Ordnerstruktur erstellt/home/username/OpenFOAM/username-2.3.1/run

Oder

cp -r $FOAM_TUTORIALS $FOAM_RUN 

Dadurch werden die Tutorials in den oben genannten Ordner kopiert.

Was macht das Schild $?

Diese Befehle funktionieren, wenn sie kopiert und eingefügt werden, aber ich möchte sie verstehen und später verwenden können.

Antwort1

Der Name einer Variablen ist ein Platzhalter für ihren Wert, also die Daten, die sie enthält. Das Referenzieren (Abrufen) ihres Wertes nennt man Variablensubstitution. Das $-Zeichen hilft uns, den Wert zu erhalten.

Unterscheiden wir sorgfältig zwischen dem Namen einer Variablen und ihrem Wert. WennVariable1der Name einer Variablen ist, dann$variable1ist ein Verweis auf seinen Wert, das darin enthaltene Datenelement, zum Beispiel:

Wir definieren variable1 mit einem Wert 23:

$ variable1 = 23

Um den Namen der Variablen auszudrucken (Echoist wie eine Druckfunktion im Terminal):

$ echo variable1
variable1

So drucken Sie den in der Variablen gespeicherten tatsächlichen Wert

$ echo $variable1
23

Antwort2

Variablen in Ihrer Shell sind mit einem gekennzeichnet $. Ich gehe davon aus, dass ein Pfad als gespeichert wurde $FOAM_RUN. Sie können alle Variablen in Ihrer Shell sehen, indem Sie Folgendes ausführen:

$ env
XDG_SESSION_ID=2
GDM_LANG=en_US.utf8
XDG_RUNTIME_DIR=/run/user/1000
WINDOWID=41943044
HOME=/home/orangetux
XDG_VTNR=7
SSH_AGENT_PID=1774
XDG_SEAT=seat0
COLORTERM=gnome-terminal
...

Sie können den Wert einer Variablen sehen, indem Sie ihn ausdrucken:

$ echo $HOME
/home/orangetux

verwandte Informationen