引号常用创建字面量,也就是原装
的字面义。
所以操作脚本或命令行,要先知道shell是如何执行命令的
''
创建字面意思最简单的方法是用单引号将字符串包围起来 对shell来说,单引号之间的字符(包括空格)都会被当做单独的参数。 所以在使用字面量时,优先考虑单引号,它保证shell不会做任何替换。如果需求复杂,再考虑双引号。
grep 'r.*t' /etc/passwd
双引号" "
和''
差不多,只是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:
反复提醒自己:引号中的任何东西都会被当成一个参数
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有