GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Speichern Sie das Ergebnis von Find als Variable in einem Shell-Skript?

Für diese Frage gibt es hier bereits Antworten :Wie weise ich die Ausgabe eines Befehls einer Variablen zu?

(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

Ubuntu
  1. Wie weist man die Ausgabe eines Befehls einer Shell-Variablen zu?

  2. Ausgabe des Befehls in Shell-Variable speichern?

  3. Wie erhalte ich die eigene IP-Adresse und speichere sie in einer Variablen in einem Shell-Skript?

  4. Alle Terminalausgaben in einer Datei speichern?

  5. Crontab-Protokoll:So protokollieren Sie die Ausgabe meines Cron-Skripts

So speichern Sie die Ausgabe des Befehls in einer Datei mit dem Linux-Terminal

So speichern Sie einen Linux-Befehl als Variable im Shell-Skript

Farbige Shell-Script-Ausgabebibliothek

Shell-Skript ändert Verzeichnis mit Variable

adb:Finden Sie PID aus der Adb-Shell

Wo wird die PATH-Variable in Ubuntu gesetzt?