Come si assegna l'output di un comando a una variabile?

16

C'è un modo per assegnare un valore a una variabile, quel valore che otteniamo nel terminale scrivendo qualche comando?

Comando di esempio: sensors

Da ciò otteniamo la temperatura della CPU. Come posso assegnare questo valore a una variabile temp_cpu ?

    
posta eeecoder 22.07.2013 - 23:59
fonte

1 risposta

23

Sì, usi my_var=$(some_command) . Ad esempio:

$ foo=$(date)
$ echo $foo
Mon Jul 22 18:10:24 CLT 2013

Oppure per il tuo esempio specifico, utilizzando sed e grep per ottenere i dati specifici che desideri:

$ cpu_temp=$(sensors acpitz-virtual-0 | grep '^temp1:' | sed 's/^temp1: *//;s/ .*//')
$ echo $cpu_temp
+39.0°C
    
risposta data user132994 23.07.2013 - 00:18
fonte

Leggi altre domande sui tag