bash中反引号和$()如何使用
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章主要介绍了bash中反引号和$()如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇bash中反引号和$()如何使用文章都会有所收获,下面我们一起来看看吧。在
千家信息网最后更新 2024年11月14日bash中反引号和$()如何使用
这篇文章主要介绍了bash中反引号和$()如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇bash中反引号和$()如何使用文章都会有所收获,下面我们一起来看看吧。
在bash中,与(反引号)都是用来作命令替换的,命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。
反引号的使用方式
下面是一个简单的实例:
[root@localhost ~]# echo "There are `ls | wc -l` files in this directory"There are 10 files in this directory
ls |wc -l
用于列出和计算当前目录的文件数,然后将它嵌入到 echo 命令中。
在 shell 脚本中,当然可以执行相同的操作,将ls | wc -l
命令的结果分配给一个变量,稍后使用该变量。
[root@localhost ~]# file_count=`ls | wc -l`[root@localhost ~]# echo "There are $file_count files in this directory"There are 10 files in this directory
$()的使用方式
也可以通过使用$()
代替"`反引号来获得相同的结果,如下例所示:
[root@localhost ~]# echo "There are $(ls | wc -l) files in this directory"There are 10 files in this directory
下面是一个例子,我需要对网络连接中的某些问题进行故障排除,因此我决定每分钟显示总连接数和等待连接数。
[root@localhost ~]# vim netinfo.sh#!/bin/bashwhile truedo ss -an > netinfo.txt connections_total=$(cat netinfo.txt | wc -l) connections_waiting=$(grep WAIT netinfo.txt | wc -l) printf "$(date +%R) - Total=%6d Waiting=%6d\n" $connections_total $connections_waiting sleep 60done
运行一下脚本:
[root@localhost ~]# ./netinfo.sh17:13 - Total= 158 Waiting= 417:14 - Total= 162 Waiting= 017:15 - Total= 155 Waiting= 017:16 - Total= 155 Waiting= 017:17 - Total= 155 Waiting= 0
如何选择使用哪种方式
这里更推荐使用$()方式。下面是原因: \1. 如果内部命令也使用,
运算符可能会变得混乱。
将需要转义内部的"`,如果将单引号作为命令的一部分或结果的一部分,阅读和排除脚本故障可能会变得困难。 如果开始考虑在其他 运算符中嵌套
运算符,则事情将不会按预期工作或根本不起作用。
\2. $()
操作符更安全,更可预测。
在 $()
运算符中的内容被视为 shell 脚本。从语法上讲,这和把代码保存在文本文件中是一样的。
以下是"`和$()
行为差异的一些示例:
[root@localhost ~]# echo '\$x'\$x[root@localhost ~]# echo `echo '\$x'`$x[root@localhost ~]# echo $(echo '\$x')\$x
关于"bash中反引号和$()如何使用"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"bash中反引号和$()如何使用"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
引号
命令
方式
结果
脚本
运算符
运算
内容
变量
知识
相同
故障
篇文章
困难
安全
混乱
差不多
事情
代码
件数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
嵌入式软件开发实验总结
星禾网络技术利刃出击
网络安全的感悟
网络技术拼音怎么写
麒麟软件开发大会
csgo怎么选哪个服务器
北京综合网络技术服务包括什么
国家网络安全法 主题班会
计算机网络技术企业需求
软件开发学习条件
潍坊物流报价软件开发公司
环境保护数据库
甘肃省网络安全等级标准宣贯会
网络安全技术防护方面
暗黑2 服务器准时崩溃
网络技术精要建网管网500问
深圳货币量化交易软件开发
数据库作业怎么做啊
公文写作网络安全小标题
明朝网络安全技术
上海机械软件开发特点
app网络安全知识宣传
政府机关采购网络安全设备
软件开发中后续
网络安全技术与实践第三版目录
sap虚拟机管理服务器
万方数据库rss
互联网公司属于科技企业吗
当今的网络安全
绿盟科技网络安全