每天一个Linux命令之shell单引号和双引号的经典解释
01 经典解释
单引号:所见即所得
双引号:所见非所得,它会先把变量解析之后,再输出
反引号(``) :命令替换,通常用于把命令输出结果传给入变量中
反斜杠( \ ) :转义字符/逃脱字符,linux如果echo要让转义字符发生作用,就要使用-e选项,且转义字符要使用双引jMluI号
02 实例演示
请先看下面这个例子:
[root@dev2~] echo "$HOME"
/root
[root@dev2~] echo '$HOME'
$HOME
从上面的例子就可以体现出单引号所见即所得,双引号所见非所得的解释,双引号的时候,系统会先计算$HOME 的值,然后在echo出来,而单引号就是直接显示单引号里的内容了
my_name='wzx'
str="Hello, I know your are \"$my_name\"! \n"
单引号字符串的限制:
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
单引号字串中不能出现单引号(对单引号使用转义符后也不行)。
双引号的优点:
双引号里可以有变量
双引号里可以出现转义字符
接下来看看反引号的例子(``)
#!/bin/bash
#演示``反引号功能
RESULT=`md5sum /home/wzx/Desktop.zip`
#RESULT=$(md5sum /home/wzx/Desktop.zip)
echo"Desktop.zip MD5值为:$RESULT"
再来看看反斜杠:一般用作转义字jMluI符,或称逃脱字符,Linux如果echo要让转义字符发生作用,就要使用-e选项,且转义字符要使用双引号
echo-e "\n"
反斜杠的另一种作用,就是当反斜杠用于一行的最后一个字符时,Shell把行尾的反斜杠作为续行,这种结构在分几行输入长命令时经常使用。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341