前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell脚本:2_单引号和双引号

shell脚本:2_单引号和双引号

作者头像
Y大宽
发布2019-06-15 14:24:12
1.8K0
发布2019-06-15 14:24:12
举报
文章被收录于专栏:Y大宽Y大宽

引号常用创建字面量,也就是原装的字面义。 所以操作脚本或命令行,要先知道shell是如何执行命令的

  • 1 执行命令前,shell先查找其中的变量,通配符和其他带刺,如有,则先替代
  • 2 将替换后的结果返回给命令

1单引号''

创建字面意思最简单的方法是用单引号将字符串包围起来 对shell来说,单引号之间的字符(包括空格)都会被当做单独的参数。 所以在使用字面量时,优先考虑单引号,它保证shell不会做任何替换。如果需求复杂,再考虑双引号。

代码语言:javascript
复制
grep 'r.*t' /etc/passwd

2 双引号

双引号" "''差不多,只是shell会对双引号中的所有变量都进行扩展。

代码语言:javascript
复制
$ echo 'there is no * in my path:$PATH'
there is no * in my path:$PATH

换成双引号就不一样了

代码语言:javascript
复制
$ echo "there is no * in my path:$PATH"
there is no * in my path:/home/kelly/bin:/home/kelly/.local/bin:/home/kelly/biosoft/gatk/gatk-4.1.2.0/:/home/kelly/biosoft/gatk/gatk-4.1.2.0/gatk:/home/kelly/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:

反复提醒自己:引号中的任何东西都会被当成一个参数

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.06.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1单引号''
  • 2 双引号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档