位置: 编程技术 - 正文

Shell编程 Bash引号的那点事(shell bash sh)

编辑:rootadmin

推荐整理分享Shell编程 Bash引号的那点事(shell bash sh),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:在bash shell环境下,bash shell 语法,shell编程语句,shell中bash,shell 引用,shell中bash,shell中bash,bash shell脚本编程经典实例,内容如对您有帮助,希望把文章链接给更多的朋友!

先了解下,在bash脚本中,有三种引号

1. 单引号 '2. 双引号 "3. 反引号 `

单引号 两个单引号包围起来的字符串就是普通的字符串,它将保留原始的字面意思.双引号 两个双引号包围起来的字符串,部分特殊字符将起到它们的作用. 这些特殊字符有: 美元符$, 反斜杠, 反引号, 感叹号!.反引号 两个反引号包围起来的字符串,将作为命令来运行, 执行的输出结果作为该反引号的内容,称为命令替换, 它有另一种更好的写法: $(command)我们来看几个例子,更直接的了解这三种引号的特性.

1. 美元符$在单、双引号中的表现: 在双引号中的$, 将发生变量引用, 而在单引号中的$, 将保留它的字面意思

注: HOME为内部变量

2. 反斜杠 在单、双引号中的表现: 在双引号中的, 将转义它后面的字符,使其具有特殊意义或者失去原来的特殊意义, 在单引号中的, 将保留它的字面意思

注: 双引号中的,后面跟着$, 这里发生了转义,使得$失去特殊意义, 变成普通字符.

3. 反引号与其他两种引号的不同: 反引号包围起来的字符串将被运行,取其结果

注: 在反引号中的date被当成命令执行,包含的正是命令的输出信息

了解了他们的不同,我们来聊一聊常见的问题

1. 把反引号` 写 成单引号'

Shell编程 Bash引号的那点事(shell bash sh)

不得不说,它们长得确实很像,个别书的印刷字体区别度不高或者印刷质量不过关, 导致了很多新手认错,常把反引号`写成单引号'。如果你不知道反引号在哪,请看看Esc键下面的那个按键, 那个就是反引号。当然也不排除有些人看书不注意,这也是常有的事。只要我们明白了反引号与单引号作用的区别,什么时候要用单引号,什么时候要用反引号就一 清二楚了。当你需要一个字符串时,使用单引号; 而当你需要捕捉命令的输出时,请用反引号。

2. 总是忘了加双引号双引号不总是多余的,被它包围的数据变得很安全,不至于被bash切开对待。

注: seq输出的是包含换行的信息,但echo `seq 3` 却丢失了换行符,因为bash在解析时认为`seq 3`的输出结果是3个独立的字符,解析后与echo 1 2 3相同(这个过程,bash做了很多工作,有兴趣的可以了解下bash解析顺序); 而echo “`seq 3`”时,bash把`seq 3`的输出结果当成一个整体对待(因为它被双引号包围),所以输出的结果不会被bash拆分对待,换行符得以保留。所以,当你需要保留变量或者命令替换的 完整信息, 特别是换行符时,请记得给它们戴上双引号作保险,时刻加个双引号是个好习惯(为什么不是单引号呢?前面解释了,单引号里面没有魔法,变量也变不了了,命令 替换也替换不了了)。再次提醒: “$var”, “`command`”, 都比$var, `command`安全得多,很多情况下,前面的才是你要的结果,除非你知道你在做什么,否则不要轻易省略双引号。

3. 引号嵌套总是混乱的

引号中包含其他引号,只要能理解单引号和双引号中字符的表现,就不难掌握

如你所见,双引号中加入其他引号很容易,你只需要用反斜杠转义你要添加的引号(双引号中加单引号可以不用转义)。 那么单引号中是否如此简单?

到这里,确实很简单,单引号中都是普通字符,所以完全不需要转义,如果加了反斜杠, 那么反斜杠依然是它自己,直接打印出来。

问题来了,单引号中如何包含单引号?这个时候,反斜杠也是无用的, 如果直接写单引号,那么bash会认为引号还没结束。好吧,如果你不幸碰到这样的问题,还是有办法解决的

第一种方法是bash特有的,$'string' 之间到反斜杠都将转义字符,第二种方法,通过单引号的ASCII码来打印单引号,而第三种方法,则是通过截断命令,在中间插入单引号来实现。一般用第一种方法是最优雅的。

最后: 希望能更多的人喜欢Bash,使用Bash。

Shell 编程:Bash空格的那点事 先了解下bash中什么时候该用空格,什么时候不该用。1.等号赋值两边不能有空格2.命令与选项之间需要空格3.管道两边空格可有可无我们来看看常见的问

shell 编程中空格的使用方法 1.定义变量时,=号的两边不可以留空格.eg:gender=femal————rightgender=femal———?wronggender=femal———?wrong2.条件测试语句[符号的两边都要留空格.eg:if[$gende

getcwd cannot access parent directories错误解决方法 [root@web-serverphp]#/etc/init.d/httpdrestartshell-init:errorretrievingcurrentdirectory:getcwd:cannotaccessparentdirectories:Nosuchfileordirectory该错误表示getcwd命令无法定位到当前工作

标签: shell bash sh

本文链接地址:https://www.jiuchutong.com/biancheng/381252.html 转载请保留说明!

上一篇:Shell脚本实现检测进程是否正在运行(shell脚本 -ne 0)

下一篇:Shell 编程:Bash空格的那点事(shell 编程 怎么运行命令)

  • 纳税检查调减进项税额主表怎么不显示缴纳税款
  • 企业办理纳税手续需要带什么材料
  • 委托外单位研发的研发费用加计扣除最新政策
  • 施工劳务企业要交增值税吗
  • 应付票据与应付账款
  • 6%税点是什么意思
  • 预缴企业所得税怎么做会计分录
  • 公司购买车库是什么费用
  • 汇款手续费的会计科目
  • 税金及附加怎么计提
  • 增值税普通发票跨月冲红
  • 付出的房屋押金可以退吗
  • 生产企业出口退税操作流程视频
  • 劳务外包公司代发工资能正常发吗
  • 资产负债率之比
  • 购买债券投资的交易费用
  • 长期待摊费用的内容和特征
  • 餐饮调理产品有哪些
  • 工程管理咨询费计入什么科目
  • 企业所得税抵缴欠税
  • windows10你需要trustedinstaller提供的权限才能更改
  • 怎么用u盘启动dos
  • 提取利润会计分录怎么做
  • 电脑自带网速测试
  • windows history命令
  • 新买的苹果电脑需要注意什么
  • win10系统安装详细步骤
  • win7指定程序用指定网卡
  • 斯科默岛白玉草丛中的海鹦,威尔士彭布罗克郡 (© Ross Hoddinott/Minden Pictures)
  • 特种商品劳务税
  • zen框架
  • flask实现登录
  • phpcms使用教程
  • 商品过期的会计分录
  • 现金流量表中的现金流量包括哪些
  • 坏账损失的会计分录小企业会计准则
  • 企业向个人借款协议范本
  • 简易征收适用哪些业务租赁
  • 增值税发票抵扣联的作用
  • mysql大分页优化
  • 无偿借贷什么意思
  • 小规模企业税收优惠政策2022
  • 电力行业规定
  • 管理费用借方贷方
  • 外贸公司美金账户开立要求
  • 企业最应避免的外部环境和内部条件组合是
  • 工业用电交税怎么算
  • 人力资源外包服务费计入什么科目
  • 会议费报销时应当提供哪些材料
  • 当月支付当月租金需要计提吗
  • 咨询费开发票应该选哪一项?
  • 销售费用是营业费用吗
  • 小规模公司开票税率是多少
  • 赔偿给别人的钱还能要回来吗
  • 未确认融资费用摊销额怎么计算
  • 挂靠建筑公司预交的增值税如何做凭证?
  • 坏账准备怎么计提比例
  • 营业外收入属于借方还是贷方
  • 怎么用公式计算结果填充单元格
  • 磁盘缓存技术
  • mysql5.5怎么用
  • win10默认edge浏览器
  • centos 终端
  • ixapplet.exe - ixapplet是什么进程 有何作用
  • win7系统运行卡怎么办
  • win10系统用正版有什么好处
  • node.js使用教程
  • 多媒体播放器使用方法
  • Node.js中的全局对象有
  • nodejs quic
  • Unity3D的MonoBehaviour可重写函数
  • 安卓手机与电脑连接方法
  • jquery聚焦输入框
  • python中ans
  • 每月个人所得税申报截止时间是几号
  • 内蒙古自治区耕地保养条例
  • 我国就业制度的演变
  • 特殊工种作业人员
  • 深圳税局电子税务局
  • 北京国家税务局总局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设