
Angenommen, einige Zeichenfolgen (wie 123 oder abc oder test123) würden nach dem letzten Befehl automatisch auf dem Bildschirm erscheinen und ich kann den genauen Wert der Zeichenfolge nicht im Voraus kennen.
Als nächstes möchte ich ein neues Verzeichnis erstellen, das nach dieser Zeichenfolge benannt ist (wie ./123/
oder ./abc/
oder ./test123/
), was bedeutet, dass die Zeichenfolge einer Variablen übergeben werden soll, var
sodass das neue Verzeichnis erstellt werden kann mkdir $var
.
Antwort1
Sie können Backticks verwenden, um das Ergebnis eines Befehls (in meinem Beispiel ist es uname
) in einer Variablen zu speichern, echo
es dann auf dem Bildschirm anzuzeigen und es schließlich als Argument für zu verwenden mkdir
:
FOO=`uname -n`
echo "$FOO"
mkdir "$FOO"
Der ausgezeichnete Advanced Bash-Scripting Guide hatein ganzes Kapitel über Befehlssubstitution.
Wie @KalvinLee kommentierte, ist das bevorzugte Format jetzt $(...)
:
FOO=$(uname -n)