Wie ordne ich die Ausgabe eines Befehls einer Variablen zu?

16

Gibt es eine Möglichkeit, einer Variablen einen Wert zuzuweisen, den wir im Terminal durch Schreiben eines Befehls erhalten?

Beispielbefehl: sensors

Daraus ergibt sich die CPU-Temperatur. Wie kann ich diesen Wert einer temp_cpu Variable zuweisen?

    
eeecoder 22.07.2013, 23:59
quelle

1 Antwort

23

Ja, Sie verwenden my_var=$(some_command) . Zum Beispiel:

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

Oder für Ihr spezielles Beispiel, indem Sie sed und grep verwenden, um die gewünschten Daten zu erhalten:

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

Tags und Links