天天看点

如何将 Linux 命令的输出赋值给变量

运行一条命令时,它都会产生某种输出:要么是该命令的期望结果,或者是该命令执行细节的状态/错误消息。有些时候,你可能想要将某个命令的输出内容存储在一个变量中,以待在后续操作中取出来使用。

本文将介绍将 shell 命令赋值给变量的不同方法,这对于 shell 脚本编程是特别有用的。

可以使用如下形式的 shell 命令置换特性,将命令的输出存储到变量中:

<code>变量名=$(命令)</code>

<code>变量名=$(命令 [命令选项 ...] 参数1 参数2 ...)</code>

<code>或者:</code>

<code>变量名=`命令`</code>

<code>变量名=`命令 [命令选项 ...] 参数1 参数2 ...`</code>

以下是使用命令置换特性的示例:

本例,我们将 <code>who</code> (显示当前登录系统的用户) 的输出值存储到 <code>current_users</code> 变量中:

<code>$ current_users=$(who)</code>

<code>$ echo -e "以下为登录到系统中的用户:\n\n $current_users"</code>

<code>$ echo -e "以下为登录到系统中的用户:\n\n $(who)"</code>

如何将 Linux 命令的输出赋值给变量

在 linux 中显示当前登录系统的用户

接下来,为了演示上面提到的第二种形式,我们以把当前工作目录下文件数存储到变量 <code>files</code> ,然后使用 echo 来输出,如下:

<code>$ files=`sudo find . -type f -print | wc -l`</code>

<code>$ echo "当前目录有 $files 个文件。"</code>

如何将 Linux 命令的输出赋值给变量

显示目中包含文件的数量

原文发布时间为:2017-01-22

本文来自云栖社区合作伙伴“linux中国”

继续阅读