Как назначить вывод команды для переменной?

Есть ли способ присвоить значение переменной, то значение, которое мы получаем в терминале, написав любую команду?

Пример команды: sensors

Из этого мы получаем CPU температура. Как я могу присвоить это значение переменной temp_cpu?

19
задан 12 October 2017 в 02:10

2 ответа

Да, вы используете my_var=$(some_command). Например:

$ foo=$(date)
$ echo $foo
Mon Jul 22 18:10:24 CLT 2013

Или для вашего конкретного примера используйте sed и grep, чтобы получить конкретные данные, которые вы хотите:

$ cpu_temp=$(sensors acpitz-virtual-0 | grep '^temp1:' | sed 's/^temp1: *//;s/ .*//')
$ echo $cpu_temp
+39.0°C
0
ответ дан 12 October 2017 в 02:10

Вы также можете сохранить значение команды следующим образом:

variableName=`command`
$variableName

Например:

currentDirectory=`pwd`
$currentDirectory
1
ответ дан 29 January 2020 в 11:56

Другие вопросы по тегам:

Похожие вопросы: