Wenn 私はsensors
この出力を得ます。
cpu_thermal-virtual-0
Adapter: Virtual device
temp1: +55.0 C (crit = +120.0 C)
私だけが必要+55.0℃変数に保存温度そしてそれをサーバーに送ってください:
curl -i -k -X POST -H "Content-Type: application/json" --data '{ "id":"2","timestamp":"100","data":"temp"}' https://dv7knsjzph.execute-api.eu-central-1.amazonaws.com/prod/boxtronic-devices/2/data/
答え1
TEMP=$(sensors -j | jq '."cpu_thermal-virtual-0"."temp1"."temp1_input"')
curl -i -k -X POST -H "Content-Type: application/json" --data '{ "id":"2","timestamp":"100","data":"'${TEMP}'"}' https://dv7knsjzph.execute-api.eu-central-1.amazonaws.com/prod/boxtronic-devices/2/data/
$()
出力を受け取り、変数に保存しますTEMP
(バックティックに似ています`
がカプセル化できます)。
-j
For sensors
- json形式のコマンド出力データ
jq
jsonで作業するためのツールです。-
ペアには特別な意味があるため、引用符を使用することが重要ですjq
。内部セクションの出力は$()
生温度でなければなりません。
- ラインではcurl
- 変数から温度が注入されますTEMP
。この値は一重引用符の外になければなりません。それ以外の場合は、${TEMP}
変数の内容に置き換えられず、そのまま残ります。校正装置はオプションですが、推奨されます。
答え2
temp=`sensors | awk '/temp1/{print $2}'`
curl -i -k -X POST -H "Content-Type: application/json" --data "{ \"id\":\"2\",\"timestamp\":\"100\",\"data\":\"$temp\"}" $URL