Diese Frage hat hier bereits eine Antwort:
Ich möchte den Pfad zu einer Datei finden und diese Ausgabe in einer Variablen in einem Shell-Skript speichern. Genauer gesagt, in der Bash-Shell, wenn ich schreibe
GCC_VERSION="find *-gcc"
Dann
echo ${GCC_VERSION}
Drucke
find some-gcc
Wie bekomme ich die Variable? GCC_VERSION
nur die Ausgabe von halten find
?
So speichere ich die Ausgabe des find *-gcc
Befehl in die Variable GCC_VERSION
damit
echo ${GCC_VERSION}
Drucke
some-gcc
Zuerst dein find
Befehl ist falsch. Wenn Sie nach allen Dateien suchen möchten, die enden -gcc
im aktuellen Verzeichnis sollte es sein:
$ find . -type f -name "*-gcc"
Um die Ausgabe von zu speichern find
zu GCC_VERSION
benutzen process substitution
:
$ GCC_VERSION=$(find . -type f -name "*-gcc")
Beachten Sie, dass Sie möglicherweise mehr als eine Datei haben, die endet -gcc
Schließen Sie daher einen Variablennamen in ein Anführungszeichen ein:
$ echo "$GCC_VERSION"
./mipsel-linux-gnu-gcc
./aarch64-linux-gnu-gcc
./mips-linux-gnu-gcc
./arm-linux-gnueabihf-gcc
Sie müssen zurück Ticks verwenden
VARIABLE=`Command`