(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