专栏首页Y大宽shell脚本:2_单引号和双引号

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

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

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

1单引号''

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

grep 'r.*t' /etc/passwd

2 双引号

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

$ echo 'there is no * in my path:$PATH'
there is no * in my path:$PATH

换成双引号就不一样了

$ 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:

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • shell脚本:1_shell脚本基础

    创建好脚本,并设置好权限,就可以将这个脚本放在某个目录中,来运行 比如当前目录下

    Y大宽
  • 7 比对到参考基因组输出bam文件

    接下来用 BWA mem把fastq map到参考基因组 hg38 版本。 比对结果直接通过管道传给samtools处理,节省 I/O 时间。 因为空间问题...

    Y大宽
  • 1 wes相关软件下载与安装并添加环境变量

    下载gatk4,用迅雷下载比较快。GATK4下载地址 或者直接wget下载(我的速度慢)

    Y大宽
  • 使用exp导出报错EXP-00091

    大致意思是导出过程中,由于客户端字符集或NCHARSET参数和服务器端不一致,导致一些统计信息不可用。解决方案是可以导出不存在问题的统计信息,或者改变客户端字符...

    bisal
  • K8S 生态周报| 几乎影响所有 k8s 集群的漏洞

    距离 v19.03.10 发布仅一周时间,Docker 又发布了新版本 v19.03.11 。此版本是一个安全修复版本,通过禁用了 IPv6 路由地址广播(RA...

    Jintao Zhang
  • DataGrid 的 全选/取消全选 控制(CheckBox)

    本文由来源 21aspnet,由 system_mush 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师...

    Java架构师必看
  • Dubbo集群容错模式之Failfast实现 原

                                                      图1 Dubbo的FailfastClusterInvoke...

    克虏伯
  • Java如何制作帮助文档(API)

    步骤如下:   (1)写一个工具类   (2)对这个类加入文档注释   (3)用工具解析文档注释     javadoc工具   (4)格式 ...

    黑泽君
  • dubbo集群容错策略的代码分析2

    接上篇 https://cloud.tencent.com/developer/article/1109572 dubbo版本2.5.3 dubbo本身集群容错...

    wannshan
  • 2020 年写给软件工程师的 30 条建议

    我在网络上看到一篇人生箴言,觉得写得非常好,我把其中一些不错的建议挑选了出来,并进行了整理,希望能够给读者朋友们一些参考。

    沉默王二

扫码关注云+社区

领取腾讯云代金券