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

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

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

示例命令:sensors

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

答案1

是的,您可以使用my_var=$(some_command)。例如:

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

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

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

答案2

您还可以按如下方式存储命令的值:

variableName=`command`
$variableName

例如:

currentDirectory=`pwd`
$currentDirectory

相关内容