linux中单引号和双引号的区别
区别:单引号属于强引用,它会忽略所有被引起来的字符的特殊处理,被引用起来的字符会被原封不动的使用;而双引号属于弱引用,它会对一些被引起来的字符进行特殊处理。简单来说,单引号直接输出内部字符串,不解析特殊字符;双引号内则会解析特殊字符。
本教程操作环境:CentOS 6系统、Dell G3电脑。
1、单引号
单引号属于强引用,它会忽略所有被引起来的字符的特殊处理,被引用起来的字符会被原封不动的使用,唯一需要注意的点是不允许引用自身;
单引号将其中的内容都作为了字符串来,忽略所有的命令和特殊字符,类似于一个字符串的用法
1 2 3 4 | echo 'This is a string' >>> This is a string echo 'ls ./' >>> ls ./ |
2、双引号
双引号属于弱引用,它会对一些被引起来的字符进行特殊处理。
双引号与单引号的区别在于其可以包含特殊字符(单引号直接输出内部字符串,不解析特殊字符;双引号内则会解析特殊字符),包括', ", $, \
,如果要忽略特殊字符,就可以利用\
来转义,忽略特殊字符,作为普通字符输出:
1 2 3 4 5 6 7 8 9 10 | var = 1 echo '$var' >>> $ var echo "$var" >>> 1 echo "Here 'this is a string' is a string" >>> Here 'this is a string' is a string echo "Here \"this is a string\" is a string" >>> Here "this is a string" is a string |
3、反引号
反引号用来包含一个命令字符串的,其中的命令会先执行,得到的结果会返回到层命令再执行:
1 2 3 4 | echo `echo 'this is the inner string' `+ 'out' >>> this is the inner string+out echo `echo 'this is the inner \` string' `+ 'out' #转义反引号 >>> this is the inner ` string+out |
反引号类似与$(command)
类似。
1 2 3 4 5 6 7 8 | #一个使用例子,如果想要遍历当前文件夹及其一级子文件夹: ls $(ls) ls `ls` >>> first_folder >sub_1 ..sub_2 > second_folder >sub_1 ..sub_2 > |
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/16648597.html,如有侵权联系删除
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?