前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shell双引号,单引号和无引号的区别

Shell双引号,单引号和无引号的区别

原创
作者头像
入门笔记
修改2021-01-04 10:29:33
5.7K0
修改2021-01-04 10:29:33
举报
文章被收录于专栏:入门小站

无引号

不使用引号定义字符串时,字符串不能包含空白字符(如Space或Tab),需要该加引号,一般连续的字符串,数字,路径等可以不加引号。如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容。

代码语言:txt
复制
> RUMENZ1="入门 小站"
> RUMENZ2=入门小站
> RUMENZ3=入门 小站 #直接报错

可见,字符串中包含有空格时必须用引号括起来,将无法正常输出。

必须使用双引号("")和单引号('')的场景

在变量赋值时,如果有空格,Shell会把空格后面的字符串解释为命令

代码语言:txt
复制
> RUMENZ=1 2 3
cd: string not in pwd: -2 #报错

> RUMENZ="1 2 3"
> echo $RUMENZ
1 2 3
> RUMENZ='4 5 6'
> echo $RUMENZ
4 5 6

当变量值中有空格,等空白符时需要使用""''包起来

双引号("")和单引号('')的区别

代码语言:txt
复制
> RUMENZ=123
> echo '$RUMENZ'
$RUMENZ
> echo "$RUMENZ"
123

双引号("")可以解析变量($RUMENZ),单引号('')不能解析变量,忽略特殊字符

字符串常量使用单引号括起来,如果字符串中含有变量、命令等使用双引号括起来,不建议不加引号。

wx.jpg
wx.jpg

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 无引号
  • 必须使用双引号("")和单引号('')的场景
  • 双引号("")和单引号('')的区别
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档