GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Salvare il risultato di ricerca come variabile in uno script di shell?

Questa domanda ha già risposte qui :Come posso assegnare l'output di un comando a una variabile?

(2 risposte)
Chiuso 3 anni fa.

Voglio trovare il percorso di un file e salvare quell'output in una variabile in uno script di shell. In particolare, nella shell bash, se scrivo

GCC_VERSION="find *-gcc"

Allora

echo ${GCC_VERSION}

Stampe

find some-gcc

Come ottengo la variabile GCC_VERSION per mantenere solo l'output di find ?
È così che salvo l'output di find *-gcc comando nella variabile GCC_VERSION in modo che

echo ${GCC_VERSION}

stampe

some-gcc

Risposta accettata:

Innanzitutto, il tuo find il comando non è corretto. Se vuoi cercare tutti i file che terminano con -gcc nella directory corrente dovrebbe essere:

$ find . -type f -name "*-gcc"

Per salvare l'output di find a GCC_VERSION usa process substitution :

$ GCC_VERSION=$(find . -type f -name "*-gcc")

Nota che potresti avere più di un file che termina con -gcc quindi racchiudi un nome di variabile tra virgolette doppie:

$ echo "$GCC_VERSION"
./mipsel-linux-gnu-gcc
./aarch64-linux-gnu-gcc
./mips-linux-gnu-gcc
./arm-linux-gnueabihf-gcc

Ubuntu
  1. Il significato di $? In uno script di shell?

  2. Crontab Log:come registrare l'output di My Cron Script

  3. Come ottenere il nome dell'attuale ramo git in una variabile in uno script di shell?

  4. Come memorizzare un comando in una variabile in uno script di shell?

  5. Come memorizzare il risultato di un comando shell eseguito in una variabile in python?

Come salvare l'output del comando in un file utilizzando il terminale Linux

Come memorizzare un comando Linux come variabile nello script della shell

Salva tutto l'output del terminale in un file?

Copia e sovrascrivi un file nello script della shell

Libreria di output di script di shell colorata

Come copiare l'output del terminale?