2つのセンサーを取得し、bash
スクリプトの変数に2つの答えを追加したいと思います。
私はこれを得たが、それは私のニーズに合わない。
[root@**** ~]# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +40.0°C (high = +80.0°C, crit = +96.0°C)
Core 1: +45.0°C (high = +80.0°C, crit = +96.0°C)
Core 2: +50.0°C (high = +80.0°C, crit = +96.0°C)
Core 8: +47.0°C (high = +80.0°C, crit = +96.0°C)
Core 9: +48.0°C (high = +80.0°C, crit = +96.0°C)
Core 10: +45.0°C (high = +80.0°C, crit = +96.0°C)
coretemp-isa-0001
Adapter: ISA adapter
Core 0: +36.0°C (high = +80.0°C, crit = +96.0°C)
Core 1: +44.0°C (high = +80.0°C, crit = +96.0°C)
Core 2: +41.0°C (high = +80.0°C, crit = +96.0°C)
Core 8: +42.0°C (high = +80.0°C, crit = +96.0°C)
Core 9: +44.0°C (high = +80.0°C, crit = +96.0°C)
Core 10: +48.0°C (high = +80.0°C, crit = +96.0°C)
[root@*** ~]# sensors | sed -rn 's/.*Core 0:\s+.([0-9]+).*/\1/p'
40
36
40と36を変数に保存する必要があります。bash
スクリプトの2つの別々の変数に追加する方法はありますか?
ベストアンサー1
コマンドを無視しsensors
てファイルシステムから直接値を読み取ることもできます/sys
。
VAR1RAW=$(cat /sys/devices/platform/coretemp.0/hwmon/hwmon*/temp1_input)
VAR1=$(expr $VAR1RAW / 1000)
VAR2RAW=$(cat /sys/devices/platform/coretemp.1/hwmon/hwmon*/temp1_input)
VAR2=$(expr $VAR2RAW / 1000)
(パス要素のアスタリスクを使用hwmon*
すると、hwmonデバイス番号を上書きできます。パスを指定すると、その.../platform/coretemp.N/...
レベルには一致するディレクトリが1つだけあります。)
ファイルシステムの生の値は/sys
1/1000度単位で表されるため、1000で割る必要があります。整数演算のみが実行されるため、expr
素数も削除されます。