linux转移字符及单引号双引号区别
shell中有两类字符,一种是普通字符,即普通纯文本(literal);另一类即元字符(meta),是shell的保留字符,在shell中有着特殊意义。
元字符有时会造成麻烦,比如说想要在程序中用美元符号打印商品价格,但是这一符号在shell中一般被用来提取变量的值。
为了消除这些特殊符号的功能,就必须对其进行转义和引用。
转义: 转义是指使用转义符引用单个字符,从而使其表达单纯的字符的字面含义。Shell中的转义符是反斜线“\”,使用转义符的目的是使转义符后面的字符单纯地作为字符出现,而不解释其特殊的含义
shell特殊字符及转义
引用:引用是指将字符串用某种符号括起来,以防止特殊字符被解析为其他意思。
Shell中一共有4种引用符,分别是双引号、单引号、反引号(在键盘上和波浪号位于同一个键)和转义符。其中双引号又叫“部分引用”或“弱引用”,可以引用除$符、反引号、转义符之外的所有字符;单引号又叫“全引用”或“强引用”,可以引用所有字符;反引号则会将反引号括起的内容解释为系统命令。
1、部分引用(双引号)
部分引用是指用双引号括起来的引用。在这种引用方式中,$符、反引号(`)、转义符(\)这3种特殊字符依然会被解析为特殊意义。
2、全引用(单引号)
全引用是指用单引号括起来的引用。单引号中的任何字符都只当作是普通字符(除了单引号本身,也就是说单引号中间无法再包含单引号,即便用转义符转义单引号也不行)。所有在单引号中的字符都只能代表其作为字符的字面意义。
3、命令替换
命令替换是指将命令的标准输出作为值赋给某个变量。比如,在某个目录中输入ls命令可查看当前目录中所有的文件,但如何将输出存入某个变量中呢?这就需要使用命令替换了,这也是Shell编程中使用非常频繁的功能。
Shell中有两种方式可以完成命令替换,一种是反引号(`),一种是$(),使用方法如下:
`command` 或者 $(command)
二者区别 ``在多种UNIX Shell中均可使用,而$()只能在Bash Shell中使用。
$()可以嵌套使用,而``不可以。

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现