
在Linux系统中,经常需要使用一些命令来处理数据或查询信息。如果需要将命令的执行结果存储在变量中,我们可以使用一些特定的语法来实现这个目标。本文将介绍如何在Linux中将命令执行结果赋值给变量。
基本语法
在Linux中,将命令的执行结果赋值给变量的基本语法如下:
变量名=$(命令)
其中,变量名是要存储命令结果的变量名,等号(=)左边是变量名,右边是使用反引号 “ 或者 $() 执行的命令。
实例
下面是一个实例,演示如何将 date 命令的执行结果存储在变量 date 中:
“`bash
$ date # 执行 date 命令查看当前时间
Sun Jan 2 12:41:35 CST 2023
$ date=`date` # 将 date 命令的执行结果赋值给变量 date
$ echo $date # 打印 date 变量的值
Sun Jan 2 12:41:48 CST 2023
“`
在这个实例中,我们首先使用 date 命令获得当前系统时间。然后,我们使用以下语法将该命令的执行结果赋值给变量 date:
“`bash
date=`date`
“`
使用 echo 命令打印 date 变量的值。如果一切正常,输出应该类似于以下文本:
“`bash
Sun Jan 2 12:41:48 CST 2023
“`
多条命令的情况
如果需要将多个命令的执行结果存储在同一个变量中,我们可以使用以下语法:
“`
变量名=$(命令1;命令2;命令3)
“`
在这个语法中,每个命令之间使用分号(;)分隔。下面是一个例子,演示如何将 whoami 和 pwd 命令的执行结果存储在相同的变量 var 中:
“`bash
$ var=$(whoami;pwd) # 使用 whoami 和 pwd 命令获取当前用户和当前目录,并将结果存储在 var 变量中
$ echo $var # 打印 var 变量的值
username
/home/username
“`
在这个例子中,whoami 和 pwd 命令的执行结果被存储在 var 变量中,然后使用 echo 命令打印变量值。输出应该类似于:
“`bash
username
/home/username
“`
重定向执行结果
有时,我们可能需要将一个命令的执行结果从标准输出中重定向到文件或管道中。当需要将执行结果赋值给变量时,我们可以使用 process substitution 来达到这个目的。下面是一个示例,演示如何将命令结果重定向到 grep 命令中,再将结果存储在变量中:
“`bash
$ var=$(ls -l | grep “txt”) # 获取目录中所有的 txt 文件,并将结果存储在 var 变量中
$ echo $var # 打印 var 变量的值
-rw-r–r– 1 user user 0 Jan 1 00:00 file.txt
“`
在这个例子中,我们使用 ls -l 命令列出当前目录中的文件,然后使用 grep 命令过滤出以 “txt” 结尾的文件。使用 process substitution 语法将 grep 命令的结果存储在变量 var 中。
结论
在Linux中,将命令执行结果赋值给变量的语法非常简单且灵活,可以帮助我们更好地处理数据和查询信息。只需要记住基本语法,就可以轻松地将任何命令的执行结果存储在变量中,以供以后使用。
相关问题拓展阅读:
- linux脚本文件中怎么从文件中读取数据并赋值给变量?
linux脚本文件中怎么从文件中读取数据并赋值给变量?
1、首先创建一衫基个名为shell.sh的文件:vi shell.sh。
2、然后输入头文件#!/bin/bash。
3、保存,开权限(chmod +x shell.sh)运行:./shell.sh。
4、输入一个字或世谨返搏符串。
5、想计算一个值乘以5,我们要编辑shell.sh(vi shell.sh)脚本命令如下。
6、保存,开权限运行:输出一个整数。
linux脚本文件中,从文件中读取数据并赋值给变量的操作旦烂方法和步骤如下:
1、首先,创建一个名
.sh
ell.sh的文件:vi shell.sh,如下图所示。
2、晌燃其次,完成上述步骤后,输入
头宴迟虚文件
#!/bin/bash,如下图所示。
3、接着,完成上述步骤后,保存并打开权限(chmod +x shell.sh)并运行:./shell.sh,如下图所示。
4、然后,完成上述步骤后,输入一个
字符串
,如下图所示。
5、随后,完成上述步骤后,要计算乘以5的值,需要按如下方式编辑shell.sh(vi shell.sh)脚本命令,如下图所示。
6、最后,保存,开权限运行:输出一个整数,如下图所示。这样,问题就解决了。
假设文件名称为tt.txt,山瞎则下列shell脚本可以将6个数字卖丛分别赋值给6个逗配空变量
i=1
for lines in `cat tt.txt`
do
case ${i} in
1) var1=${lines};;
2) var2=${lines};;
3) var3=${lines};;
4) var4=${lines};;
5) var5=${lines};;
6) var6=${lines};;
esac
i=`expr ${i} + 1`
done
echo ${var1}
echo ${var2}
echo ${var3}
echo ${var4}
echo ${var5}
echo ${var6}
关于linux命令执行结果赋值给变量的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
香港服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/214489.html<