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

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

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

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


  1. 变量名=$(命令)
  2. 变量名=$(命令 [命令选项 ...] 参数1 参数2 ...)
  3. 或者:
  4. 变量名=`命令`
  5. 变量名=`命令 [命令选项 ...] 参数1 参数2 ...`

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

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


  1. $ CURRENT_USERS=$(who)

然后,我们可以使用 echo 命令 显示一个句子并使用上述变量,如下:


  1. $ echo -e "以下为登录到系统中的用户:\n\n $CURRENT_USERS"

上面的命令中:-e 标记表示解释所有的转义序列 (如 \n 为换行)。为节约时间和内存,通常在 echo 命令 中直接使用命令置换特性,如下:


  1. $ echo -e "以下为登录到系统中的用户:\n\n $(who)"

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

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


  1. $ FILES=`sudo find . -type f -print | wc -l`
  2. $ echo "当前目录有 $FILES 个文件。"

显示目中包含文件的数量

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

本文来自合作伙伴“Linux中国”

时间: 2024-11-05 18:58:50

如何将 Linux 命令的输出赋值给变量的相关文章

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

运行一条命令时,它都会产生某种输出:要么是该命令的期望结果,或者是该命令执行细节的状态/错误消息.有些时候,你可能想要将某个命令的输出内容存储在一个变量中,以待在后续操作中取出来使用. 本文将介绍将 shell 命令赋值给变量的不同方法,这对于 shell 脚本编程是特别有用的. 可以使用如下形式的 shell 命令置换特性,将命令的输出存储到变量中: 变量名=$(命令)   变量名=$(命令 [命令选项 ...] 参数1 参数2 ...)   或者:   变量名=`命令`   变量名=`命令 

《Linux命令行与Shell脚本编程大全第2版》读书笔记

公司说不准用云笔记了,吓得我赶紧把笔记贴到博客上先..... 近3年前的了,只有一半的章节,后面的没空记录了.... 第1章 可以cat /proc/meminfo文件来观察Linux系统上虚拟内存的当前状态 ipcs命令专门用来查看系统上的当前共享内存页面 Ubuntu使用一个表来管理在系统开机时要自动启动的进程,在/etc/init.d目录,可将开机时启动或停止某个应用的脚本放在这个目录下.这些脚本通过/etc/rcX.d目录下的入口启动,这里X代表运行级(run level) Linux才

如何在linux上分享你shell命令的输出

如何在linux上分享你shell命令的输出 前段时间我发布了一篇关于shelr.tv这个网站的文章,它提供一个服务允许你从网站上直接分享你的终端记录. 现在shelr.tv这个网站似乎关闭了,然后我四处寻找是否有类似的网站,于是我发现了commands.com. 从它的主页上来看,它的服务和其他网站提供的服务是类似的,因此让我们来测试它. 步骤 1 – 在网站上注册 只需要注册一个新的 用户名/密码,或者直接使用你的github账户快速登录. 步骤 2 – 下载安装monitor程序 Moni

慢动作输出Linux命令结果并用彩色显示

本篇中,我们会展示一个很酷及简单的方法在屏幕中显示彩色的输出,并且可以为了某个原因减慢输出的速度. lolcat 命令可以满足上面的需求.它基本上通过与 cat 命令类似的方式将文件或标准输入定向到标准输出来运行,覆盖某个命令的默认屏幕输出颜色,并为其添加彩色. 如何在 Linux 中安装 lolcat 程序 lolcat 可以在大多数现代 Linux 发行版的默认仓库中得到,但是可用的版本有点老.你可以使用下面的指导来从 git 仓库中安装最新的 lolcat 版本. 安装 lolcat 来在

如何在Linux中按最后修改时间对ls命令的输出进行排序

Linux 用户常常做的一个事情是,是在命令行列出目录内容. 我们已经知道,ls 和 dir 是两个可用在列出目录内容的 Linux 命令,前者是更受欢迎的,在大多数情况下,是用户的首选. 我们列出目录内容时,可以按照不同的标准进行排序,例如文件名.修改时间.添加时间.版本或者文件大小.可以通过指定一个特别的参数来使用这些文件的属性进行排序. 在这个简洁的 ls 命令指导中,我们将看看如何通过上次修改时间(日期和时分秒)排序 ls 命令的输出结果 . 让我们由执行一些基本的 ls 命令开始. L

一行Linux命令,其中perl文件的输出作为c语言文件的输入

问题描述 一行Linux命令,其中perl文件的输出作为c语言文件的输入 prep-seg |(/usr/bin/time -f "%U" -a -o data/comp/TestLog100.txt vseg > $segfile) prep-seg是一个perl写的文件,vseg是一个从语言编译后的文件,我很确定prep-seg的输出是作为vseg的输入,那这个TestLog100.txt只是统计时间的吗?谢谢大家了

慢动作输出 Linux 命令结果并用彩色显示

本篇中,我们会展示一个很酷及简单的方法在屏幕中显示彩色的输出,并且可以为了某个原因减慢输出的速度. lolcat 命令可以满足上面的需求.它基本上通过与 cat 命令类似的方式将文件或标准输入定向到标准输出来运行,覆盖某个命令的默认屏幕输出颜色,并为其添加彩色. 如何在 Linux 中安装 lolcat 程序 lolcat 可以在大多数现代 Linux 发行版的默认仓库中得到,但是可用的版本有点老.你可以使用下面的指导来从 git 仓库中安装最新的 lolcat 版本. 安装 lolcat 来在

lolcat :一个在 Linux 终端中输出彩虹特效的命令行工具

那些相信 Linux 命令行是单调无聊且没有任何乐趣的人们,你们错了,这里有一些有关 Linux 的文章,它们展示着 Linux 是如何的有趣和"淘气" . Linux命令及Linux终端的20个趣事 终端中的乐趣:6个有趣的Linux命令行工具 Linux终端的乐趣之把玩字词计数 在本文中,我将讨论一个名为"lolcat"的小工具 – 它可以在终端中生成彩虹般的颜色. 为终端生成彩虹般颜色的输出的 Lolcat 命令 何为 lolcat ? Lolcat 是一个针

linux命令scp(复制文件和目录)详解及cp和scp命令的使用方法

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来.另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了.虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用. 1.命