美文网首页Linux面试题系列
【吃饭的家伙】单引号-双引号-不加引号-反引号区别

【吃饭的家伙】单引号-双引号-不加引号-反引号区别

作者: 李导996 | 来源:发表于2019-04-22 21:55 被阅读248次

运维学习交流群-点我加群:598972270

必会含义

''" \color{red}{单引号} 所见即所得 引号里面的内容会原封不动的显示出来

'' \color{red}{双引号} 和单引号类似 里面的特殊符号会被解析(运行) 比如$ ``(反引号)
都是特殊符号

不加引号 和双引号类似,但是支持通配符 |{} *

参考:\color{red}{【重点】}通配符与正则区别? 点我快速打开文章

``相当于 \color{red}{反引号} 优先执行,先执行引号里面的命令,把结果留下来

[root@oldboyedu60-lnb oldboy]# echo '$UID $HOSTNAME {1..5}'
$UID $HOSTNAME {1..5}
[root@oldboyedu60-lnb oldboy]# echo "$UID $HOSTNAME {1..5}"
0 oldboyedu60-lnb {1..5}
[root@oldboyedu60-lnb oldboy]# echo $UID $HOSTNAME {1..5}
0 oldboyedu60-lnb 1 2 3 4 5

进阶理解

单引号 双引号

主要作用:

单引号 特殊用法-使用变量的时候,存放入变量的内容包含空格或特殊符号 需要使用引号引起来

[root@g01 ~]# oldboy=i love you
-bash: love: command not found
[root@g01 ~]# oldboy='i love you'
[root@g01 ~]# lidao="very handsome"
[root@g01 ~]# echo $oldboy $lidao
i love you very handsome

单引号在awk中使用单引号 防止特殊符号被shell(命令行解析)

[root@g01 ~]# awk -F: 'NR<=3{print $1,$3}' /etc/passwd
root 0
bin 1
daemon 2
[root@g01 ~]# awk -F: NR<=3{print $1,$3} /etc/passwd   #因为没有使用单引号所以被命令行解析了 <是输入重定向  所以提示文件找不到
-bash: =3{print: No such file or directory
[root@g01 ~]# awk -F: NR\<=3\{print\ \$1,\$3\}  /etc/passwd #就是不想用只能这样进行一个一个的转义了。
root 0
bin 1
daemon 2

双引号特殊用法:sed命令中使用shell变量进行替换

创建变量

[root@g01 ~]# x=root
[root@g01 ~]# y=oldboy
[root@g01 ~]# echo $x $y
root oldboy

进行替换:但是失败了,主要原因是因为使用的是单引号,不会$x进行解析,这里$只会被sed认为是正则表达式以....结尾,但是格式是错误的所以替换失败了

[root@g01 ~]# head -1 /etc/passwd |sed 's#$x#$y#g'
root:x:0:0:root:/root:/bin/bash

只要把这里的单引号改为双引号或不加引号,$x和$y会被shell解析为取变量内容从而进行替换

[root@g01 ~]# head -1 /etc/passwd |sed "s#$x#$y#g"
oldboy:x:0:0:oldboy:/oldboy:/bin/bash

反引号

反引号主要是用来先执行命令,然后把结果给其他命令使用

企业案例1:打包备份/etc/目录到/backup下面保证每天的备份不同

tar zcf /backup/etc-$(date +%F).tar.gz /etc

企业案例2:找出/oldboy目录下以.txt结尾的修改时间是7天之前的大于1M的文件打包压缩到/backup下面

tar zcf /backup/etc.tar.gz $(find /oldboy -type f -name ".txt” -mtime +7 -size +1M)
find /oldboy -type f -name "
.txt” -mtime +7 -size +1M|xargs tar zcf /backup/etc.tar.gz
find /oldboy -type f -name "*.txt” -mtime +7 -size +1M -exec tar zcf /backup/etc.tar.gz {} +

扫我入群:598972270

相关文章

  • 【吃饭的家伙】单引号-双引号-不加引号-反引号区别

    运维学习交流群-点我加群:598972270 必会含义 ''" 所见即所得 引号里面的内容会原封不动的显示出来 ...

  • 【李导简书文章目录】Linux学习、排错流程、企业面试题

    标题链接单引号-双引号-不加引号-反引号区别点我快速打开文章[https://www.jianshu.com/p/...

  • 【grep-find】-第四周周考测试总结

    10说出单引号,双引号,不加引号区别(3分) 单引号,所见即所得双引号,解析命令,与$()配合使用不加引号 解析命...

  • 体验shell(语法学习)

    基础语法 获取命令结果 反引号, 兼容老版本 $() 单引号、双引号、反引号区别在单引号中,所有特殊字符没有特殊含...

  • ``反单引号‘’单引号“”双引号的区别

    反单引号()”:在中的命令会被先执行,执行结果将做外部输出信息 单引号(‘’):使用单引号应注意,内部变量会失效 ...

  • PHP基础篇

    php基础部分常见考点 1. 双引号单引号区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里...

  • PHP面试题

    1、双引号和单引号区别 双引号解释变量,单引号不解释变量。 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • PHP面试4

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • php基础面试题

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • PHP经典面试题目汇总

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

网友评论

    本文标题:【吃饭的家伙】单引号-双引号-不加引号-反引号区别

    本文链接:https://www.haomeiwen.com/subject/stiegqtx.html