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

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

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

无引号

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

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

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

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

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

代码语言:txt
AI代码解释
复制
> 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
AI代码解释
复制
> RUMENZ=123
> echo '$RUMENZ'
$RUMENZ
> echo "$RUMENZ"
123

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

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

wx.jpg
wx.jpg

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Shell编程
Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。
用户4870038
2021/02/05
5.1K0
Shell编程
【Linux】Shell 变量:你不知道的那些事
在 Linux 系统中,Shell 是用户与内核之间交互的接口程序,为用户提供使用操作系统的接口,也被称为命令解释器。Shell 接收用户输入的命令,并将其转换为 Linux 系统可以理解的操作,最终通过调用相应的程序来完成这些操作。
行者Sun
2024/09/14
1840
【Linux】Shell 变量:你不知道的那些事
Shell 编程核心技术《一》
在我们的日常工作中经常需要编写一些 Shell 逻辑脚本来批量处理一些任务,比如读取输入数据进行相关处理,将任务放入一个脚本进行自动化运行等场景,这些都涉及 Shell 编程,其实 Shell 编程也非常简单,就像 Java、Python 这些大众化的编程语言一样,也具备编程语言的特性,我们来看下 Shell 编程主要涉及的几个方面的内容。
Wu_Candy
2022/07/04
7080
Shell 编程核心技术《一》
Shell三大利器之awk
awk是什么 awk是一种处理文本文件的语言,是一个强大的文本分析工具;awk是以列为划分计数的,$0表示所有列,$1表示第一列,$2表示第二列。 awk参数 -F 指定分隔符,如-F: -v 赋值一个用户定义变量,如-va=1 -f 从脚本文件中读取awk命令 > vim rumenz.log 123 入门,小站 456 456 你好,世界 789 awk打印第1列和第3列 > awk '{print $1,$3}' rumenz.log //或者 > cat rumenz.log | awk '{pr
入门笔记
2021/01/11
5580
Shell变量
变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell变量也遵循这个规则。
恋喵大鲤鱼
2019/03/04
1.2K0
Shell自定义变量和引用
定义一个变量 用户自定义变量也叫本地变量,用户可以自定义变量的名称,也可以给变量赋值,还可修改变量的值,甚至删除变量。 声明变量不用声明类型 可以存储不同类型的内容 大小写区分 变量声明及赋值格式(变量=值,注意:等号两侧不能有空格) > RUMENZ=123 # 输出变量 > echo ${RUMENZ} Shell中所有变量引用使用$符,后跟变量名。 有时个特殊字符会影响正常引用,那么需要使用${RUMENZ} > RUMENZ="入门小站" > echo $RUMENZ 入门小站 > echo $RU
入门笔记
2020/12/30
9480
【Linux】之shell入门
个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主
天寒雨落
2022/11/20
4980
【Linux】之shell入门
说说Python 单引号、双引号、三引号的区别?
小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
程序员小猿
2021/01/19
4.3K0
Shell 变量
变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:
小小工匠
2021/08/16
2.1K0
Shell编程中出现 `ambiguous redirect` 和 `binary operator expected` 错误的解决方法以及相关知识点
最近在学习《Linux命令行和shell脚本编程大全》(第四版)这本书,对于自己遇到的问题以及通过搜索引擎和书籍中的解决方案进行一个案例的剖析,希望对于像我这样的初学者,有一个帮助。
哎呀_编号89757
2024/08/08
1K0
Shell编程中出现 `ambiguous redirect` 和 `binary operator expected` 错误的解决方法以及相关知识点
linux之read命令
原文链接:https://rumenz.com/rumenbiji/linux-read.html
入门笔记
2021/09/15
2.2K0
Shell双引号和单引号的区别
Shell在使用的过程中,经常会使双引号或者单引号将字符串括起来,也可以不使用引号来定义字符串变量。示例如下:
恋喵大鲤鱼
2019/03/05
3.2K0
JVM常量池
class文件是以字节为单位的二进制数据流,java编译器将java源码文件编译成.class字节码文件存放在磁盘上,.class中就包含文件常量池(非运行时常量池),在编译期间就确定了,.class文件遵循jvm虚拟机规范.
开源日记
2020/11/27
2720
Shell 语法
1. 运行sh脚本的2种方法: ./AAA。sh 或者 sh AAA.sh 。(其实后辍名不重要。是txt也是可以运行的。)
微风-- 轻许--
2022/04/13
6670
写好Shell脚本那些不得不知道的细节
想写好Shell脚本,有很多细节不得不知道,细节的不注意会给脚本调试带来很多麻烦,甚至导致运行的结果天差地别,下面总结了我实际工作中遇到的18大细节,分享给大家。
Lu说
2022/06/07
1.9K0
写好Shell脚本那些不得不知道的细节
shell编程知识点集锦
shell脚本是按行分隔每一条shell语句。如果每一条shell语句写在单独一行,此时可以加分号,也可以不加,没有什么区别。如果多条shell写在同一行,那么此时需一定要用分号将不用语句分隔开来。
恋喵大鲤鱼
2018/08/03
1.7K0
Shell基础
Linux系统下常见的四种变量 1.自定义变量 自定义变量是由系统用户自己定义的变量吗,只在用户自己的Shell环境中有效,因此,也有人称为本地变量。在编写Shell脚本程序是,用户通常会设定一些特定的自定义变量,以适应程序执行过程中各种变化,以满足不同的需求。
剧终
2020/08/26
8960
shell语法
其实脚本解释的时候#! /bin/bash解释的时候也是注释,只是系统识别为脚本解释器
h3110_w0r1d
2024/02/19
2430
shell 编程记录
1 文件比较运算符 -e filename 如果 filename存在,则为真 [ -e /var/log/syslog ] -d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ] -f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ] -L filename 如果 filename为符号链接,则为真 [ -L /usr/bin/grep ] -r filename 如果 filename可读,则为真 [ -r /var/log/syslog ] -w filename 如果 filename可写,则为真 [ -w /var/mytmp.txt ] -x filename 如果 filename可执行,则为真 [ -L /usr/bin/grep ] filename1-nt filename2 如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ] filename1-ot filename2 如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
2019/05/25
6150
JS 单引号、双引号与反引号的区别
每一个编程语言都有引号,但作用和用法略有区别。JS 也存在单引号、双引号与反引号。
恋喵大鲤鱼
2021/01/21
9.4K0
相关推荐
Shell编程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档