4

I'm editing a Conky theme. I would like it to output the processor temperatures in degrees Fahrenheit instead of Celsius.

In the ~/.conkyrc file, the command sensors | grep 'Core 0' | cut -c18-19 is used to find the temperature in Celsius for the first processor core. I want to use bc to compute this (give it outputvalue*9/5+32).

Problem is, bc wants just absolute values, and I see no way to pass it program output. If I try to use something like temp=$(sensors | grep 'Core 0' | cut -c18-19) & echo 'temp*9/5+32' | bc, it ends up giving me 32 because it registers "temp" as a 0.

3 Answers3

7

According to the Conky help, you can specify this in the config file ~/.conkyrc

Quote:

temperature_unit

  • Desired output unit of all objects displaying a temperature. Parameters are either "fahrenheit" or "celsius". The default unit is degree Celsius.
Jorge Castro
  • 73,717
fabricator4
  • 8,471
  • 1
  • 37
  • 39
5

You need echo $temp*9/5+32 | bc. Variables are prefixed with a $ and can not be inside single quotes.

psusi
  • 38,031
1

Get your $temp, and assuming /bin/bash why not just do this:

echo $[(${temp}*9/5)+32]
Braiam
  • 69,112
user304985
  • 21
  • 1