当前位置: 移动技术网 > 网络运营>服务器>Linux > 每天一个Linux命令之shell单引号和双引号的经典解释

每天一个Linux命令之shell单引号和双引号的经典解释

2019年09月09日  | 移动技术网网络运营  | 我要评论

01 经典解释

单引号:所见即所得

双引号:所见非所得,它会先把变量解析之后,再输出

反引号(``) :命令替换,通常用于把命令输出结果传给入变量中

反斜杠( \ ) :转义字符/逃脱字符,linux如果echo要让转义字符发生作用,就要使用-e选项,且转义字符要使用双引号 

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"

再来看看反斜杠:一般用作转义字符,或称逃脱字符,linux如果echo要让转义字符发生作用,就要使用-e选项,且转义字符要使用双引号 

echo-e "\n"

反斜杠的另一种作用,就是当反斜杠用于一行的最后一个字符时,shell把行尾的反斜杠作为续行,这种结构在分几行输入长命令时经常使用。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对移动技术网的支持。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网