BashプロンプトでCPU温度を表示するには?

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

動的PROMPT_COMMAND更新の場合PS1

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

関連情報