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

在本文中,我们将讨论将shell命令的输出分配给变量的不同方法,对于shell脚本目的尤其有用。

当运行一个命令时,它会产生某种输出:程序的结果是产生或程序执行细节的状态/错误信息。有时,您可能希望将命令的输出存储在要在稍后的操作中使用的变量中。 在本文中,我们将讨论将shell命令的输出分配给变量的不同方法,对于shell脚本目的尤其有用。 要将命令的输出存储在变量中,可以使用以下形式的shell命令替换功能:
variable_name=$(command)
variable_name=$(command [option ...] arg1 arg2 ...)
OR
variable_name='command'
variable_name='command [option ...] arg1 arg2 ...'
以下是使用命令替换的几个示例。 在第一个示例中,我们将在变量CURRENT_USERS用户中存储who (显示谁登录系统)命令的值:
$ CURRENT_USERS=$(who)
然后我们可以使用echo命令显示的句子中的变量,如:
$ echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"
在上面的命令中:标志-e意味着解释任何使用的转义序列(例如\n换行)。 为了避免浪费时间和内存,只需在echo命令中执行命令替换,如下所示:
$ echo -e "The following users are logged on the system:\n\n $(who)"
在Linux中显示当前记录的用户

在Linux中显示当前记录的用户

接下来,演示使用第二种形式的概念;我们可以将当前工作目录中的文件总数存储在一个名为FILES的变量中,并在后面回显如下:
$ FILES=`sudo find . -type f -print | wc -l`
$ echo "There are $FILES in the current working directory."
显示目录中的文件数目

显示目录中的文件数

现在,在本文中,我们解释了将shell命令的输出分配给变量的方法。您可以通过下面的反馈部分向此信息中添加您的想法。