web-dev-qa-db-ja.com

bashプロンプトでCPU温度を表示するにはどうすればよいですか?

この答え に触発されて、次のコードを.bashrcに追加しました:

get_cpu_temperature() {
    CEL=$'\xc2\xb0C'
    temp=$( cat /sys/devices/virtual/thermal/thermal_zone0/temp )
    temp=`expr $temp / 1000`
    echo $temp$CEL
}

PS1="$(get_cpu_temperature) \u@\h:\w\$ "

ただし、この関数は1回しか呼び出されないため、温度は更新されません。プロンプトで更新された温度測定値を取得するにはどうすればよいですか?常に更新する必要はありません。プロンプトごとに1回で十分です。

2
Sparkler

使用する Prompt_COMMAND 取得するため PS1動的に更新:

Prompt_COMMAND='PS1="$(get_cpu_temperature) \u@\h:\w\$ "'
2
janos