LINUX.ORG.RU
#!/bin/sh
CPU_TEMP=$(</sys/class/hwmon/hwmon2/temp1_input)

echo "только цифры: $CPU_TEMP"

Номера hwmon и temp в твоём случае могут быть другими, тебе их нужно просто найти. Понять кто есть кто, можно например так

tail /sys/class/hwmon/hwmon?/{,device/}name

Поверь мне, sensors делает тоже самое.

surefire ★★★
()

А зачем это делать на баш, когда есть perl5/perl6/python3? Я уже пару лет стараюсь делать подобные вещи уже только на perl6. Зачем учить bash+sed+awk, когда всё равно они не всегда могут заменить нормальные скриптовые языки, а нормальный скриптовый язык их заменит на раз?

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

Зачем мне учить дополнительный скриптовый язык, когда нужда в подобных вещах, как выдернуть какое-то слово из вывода или что-то подобное мне требуется крайне редко?

soulectro
() автор топика
Ответ на: комментарий от soulectro

Их и не надо учить. Берешь и пишешь.

FIL ★★★★
()
Ответ на: комментарий от surefire

Номера hwmon и temp в твоём случае могут быть другими, тебе их нужно просто найти

именно поэтому надо использовать sensors, чтобы не искать

futurama ★★★★★
()

Пример

$ sensors | grep CPU
CPU  fan:    1383 RPM  (min =   10 RPM)
CPU temp:     +31.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermal diode


$ CPUTEMP=$(sensors | awk '$1 == "CPU" && $2 == "temp:" {gsub("[^.0-9]", "", $3); print $3}')
$ echo $CPUTEMP
31.0

futurama ★★★★★
()
Ответ на: комментарий от futurama

А ты наверно к себе домой тоже ходишь через соседский балкон? Так же проще, чем отыскать подходящий ключ для своей двери.

surefire ★★★
()
Ответ на: комментарий от surefire

Плохая аналогия.

Например во многих дистрибутивах есть команда service, хотя проще и нагляднее всегда было /etc/init.d/$NAME $action

Но с переходом с SysV на upstart, a затем на systemd, нормальные админы (использующие «балконы», т.е. service) не заметили смены системы инициализации и продолжают использовать service

В случае смены материнской платы достаточно перенастроить sensors, а не лазать по всем скриптам и менять в них пути в /sys/

futurama ★★★★★
()
Ответ на: комментарий от surefire

И правильная аналогия: я использую мастер-ключ, открывающий все двери, вместо поиска подходящего ключа.

futurama ★★★★★
()
Ответ на: комментарий от redgremlin

А зачем это делать на баш, когда есть perl5/perl6/python3?

Используй тот инструмент, который знаешь.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Используй тот инструмент, который знаешь

Действительно, зачем покупать шумовку, когда пельмени можно выловить и по одному вилкой. Стоить потратить некоторое время на изучение нового инструмента (потратить некоторые деньги на шумовку), зато начать пользоваться более удобным и гибким инструментом. И да, судя по вопросу, баша (+coreutils+sed+awk+smth else) он один фиг не знает.

redgremlin ★★★★★
()
Ответ на: комментарий от anonymous

может и компьютера не быть

У ТС он (пакет lmsensors) есть.

futurama ★★★★★
()
Ответ на: комментарий от surefire

Поверь мне, sensors делает тоже самое.

Это пока Поттеринг не пришел.

abraziv_whiskey ★★★★★
()

cat /sys/class/hwmon/*/temp*_input

Как уже сказали.

anonymous
()
Ответ на: комментарий от kazufukurou

sensors -u | grep temp2_input | cut -d' ' -f4

Три раза плохо
1. temp2_input низкоуровневое слово, зависящее от железа, а не от настройки lmsensors
2. Две утилиты (grep,cut) хуже чем одна (awk)
3. cut зависит от кол-ва пробелов, поэтому у тебя f4, хотя визуально в строке два поля

futurama ★★★★★
()
Ответ на: комментарий от futurama

Стоит отметить, что в оригинале первые две проблемы тоже присутствовали.

evilface ★★
()
Ответ на: комментарий от peregrine

Медленнее

Играет ли это какую-то роль?

в общем случае.

тогда может лучше вовсе без утилит?

anonymous
()
Ответ на: комментарий от anonymous

Играет ли это какую-то роль?

Смотря сколько обрабатывать текста. Если пару гигобайт, то явно играет.

тогда может лучше вовсе без утилит?

Опять всё ситуативно, тот же awk переплюнуть по скорости алгоритмов поиска сложно.

peregrine ★★★★★
()

вот так я вывожу температуру процессора в коньках. ${execi 1 sensors | sed -n '3p' | cut -c16-19} . ('3p')-строка , (-c16-19) -символы в строке.

crow7882
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.