So aktualisieren Sie einen Alias ​​bei jeder Ausführung

So aktualisieren Sie einen Alias ​​bei jeder Ausführung

Ich habe diesen Alias, um die Temperatur meines Raspberry Pi zu überprüfen:

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\""

Es läuft Ubuntu Mate 16.04. Es funktioniert gut, aber wenn ich die Temperatur überprüfen möchte, muss ich das geöffnete Terminal schließen und ein neues öffnen. Nachdem ich beispielsweise tempeinmal in einem Terminal ausgeführt habe, werden diese Daten gespeichert, bis ich das Terminal schließe und erneut öffne. Ich hatte gehofft, es gäbe eine Möglichkeit, den Alias ​​bei jeder Ausführung zu aktualisieren. Dieser Alias ​​befindet sich in /etc/bash.bashrc. Danke!

Antwort1

Das klingt, als wäre es als Funktion besser geeignet. (Die auch zu Ihrer Bashrc hinzugefügt werden kann/sollte und einen einfachen Befehl ähnlich einem Alias ​​simuliert):

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"
}

verwandte Informationen