如何将命令的输出分配给变量?

eee*_*der 27 command-line

有没有办法给一个变量赋值,这个值是我们通过编写任何命令在终端中得到的?

示例命令: sensors

从中我们得到CPU温度。如何将此值分配给temp_cpu变量?

小智 36

是的,您使用my_var=$(some_command). 例如:

$ foo=$(date)
$ echo $foo
Mon Jul 22 18:10:24 CLT 2013
Run Code Online (Sandbox Code Playgroud)

或者对于您的特定示例,使用sedgrep获取您想要的特定数据:

$ cpu_temp=$(sensors acpitz-virtual-0 | grep '^temp1:' | sed 's/^temp1: *//;s/ .*//')
$ echo $cpu_temp
+39.0°C
Run Code Online (Sandbox Code Playgroud)