実行されるたびにエイリアスを更新する方法

実行されるたびにエイリアスを更新する方法

Raspberry Pi の温度を確認するためのエイリアスがあります:

gpu=$(/opt/vc/bin/vcgencmd measure_temp | awk -F "[= \']" '{print $2}')

cpu=$(</sys/class/thermal/thermal_zone0/temp)

cpu=$(echo "$cpu / 100 * 0.1" | bc)

cpuf=$(echo "(1.8 * $cpu) + 32" | bc)

gpuf=$(echo "(1.8 * $gpu) + 32" | bc)

alias temp="echo \"CPU => $cpuf 'F\" && echo \"GPU => $gpuf 'F\""

Ubuntu Mate 16.04 を実行しています。問題なく動作しますが、温度をチェックしたいときは、開いているターミナルを閉じて新しいターミナルを開く必要があります。たとえば、tempターミナルで一度実行すると、ターミナルを閉じて再度開くまでそのデータが保存されます。実行するたびにエイリアスを更新する方法があることを期待していました。このエイリアスは /etc/bash.bashrc にあります。ありがとうございます!

答え1

これは関数としての方が適しているように思えます。(これは bashrc に追加することもでき、エイリアスのように単純なコマンドをシミュレートします):

temp () {
    gpu=$(/opt/vc/bin/vcgencmd measure_temp | awk -F "[= \']" '{print $2}')
    cpu=$(</sys/class/thermal/thermal_zone0/temp)
    cpu=$(bc <<<"$cpu / 100 * 0.1")
    cpuf=$(bc <<<"(1.8 * $cpu) + 32")
    gpuf=$(bc <<<"(1.8 * $gpu) + 32")

    echo -e "CPU => $cpuf °F\nGPU => $gpuf °F"
}

関連情報