(2 Antworten)
Vor 3 Jahren geschlossen.
Ich möchte den Pfad zu einer Datei finden und diese Ausgabe in einer Variablen in einem Shell-Skript speichern. Insbesondere in der Bash-Shell, wenn ich schreibe
GCC_VERSION="find *-gcc"
Dann
echo ${GCC_VERSION}
Ausdrucke
find some-gcc
Wie erhalte ich die Variable GCC_VERSION
um nur die Ausgabe von find
zu halten ?
So speichere ich die Ausgabe von find *-gcc
Befehl in die Variable GCC_VERSION
damit
echo ${GCC_VERSION}
druckt
some-gcc
Akzeptierte Antwort:
Zuerst Ihr find
Befehl ist falsch. Wenn Sie nach allen Dateien suchen möchten, die auf -gcc
enden im aktuellen Verzeichnis sollte es sein:
$ find . -type f -name "*-gcc"
Um die Ausgabe von find
zu speichern zu GCC_VERSION
Verwenden Sie process substitution
:
$ GCC_VERSION=$(find . -type f -name "*-gcc")
Beachten Sie, dass Sie möglicherweise mehr als eine Datei haben, die auf -gcc
endet schließen Sie also einen Variablennamen in doppelte Anführungszeichen ein:
$ echo "$GCC_VERSION"
./mipsel-linux-gnu-gcc
./aarch64-linux-gnu-gcc
./mips-linux-gnu-gcc
./arm-linux-gnueabihf-gcc