Linux shell脚本变量单引号和双引号的区别以及变量扩展问题

Linux运维实战:CentOS7.6操作系统(Shell脚本基础) Shell是一个命令解释器,在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可以是交互式的,也可以是非交互式的,如图19-1所示。图19-1 Shell与内核交互我们所输入的命令计算机是不能识别的,这时就需要一种程序来对命令进行翻译,变成计算机能识别的二进制程序,同时又把计算机生成的结果返回给我们。一般脚本的命名都是以.sh。 阅读详情

单引号可以防止任何变量扩展。双引号可以防止通配符扩展但它允许变量扩展。

#!/bin/sh

#测试单引号‘’  双引号“”的区别
#单引号更严格一些。它可以防止任何变量扩展。双引号可以防止通配符扩展但允许变量扩展。

echo $SHELL

echo "$SHELL"

echo '$SHELL'
结果:



一种防止这种扩展的方法,那就是使用转义字符——反斜杆

#!/bin/sh

#测试单引号‘’  双引号“”的区别
#单引号更严格一些。它可以防止任何变量扩展。双引号可以防止通配符扩展但允许变量扩展。
#一种防止这种扩展的方法,那就是使用转义字符——反斜杆

echo \$SHELL

echo "\$SHELL"

echo '$SHELL'

结果:



RK3588 MPP视频编码实战:从环境搭建到高效封装 本文详细介绍了在RK3588平台上利用MPP(Media Process Platform)进行硬件视频编码的完整实战流程。从MPP库的环境搭建、编译安装,到核心编码参数(如码率控制、GOP、图像对齐)的深入解析,并提供了一个可复用的C++编码器类封装方案,帮助开发者快速实现高效的H.264/H.265视频编码,显著降低CPU占用。 阅读详情

相关推荐

SBP依赖计算中的蝴蝶效应:一个Prefab修改如何触发全量重建?

本文深入探讨了Unity中SBP(Scriptable Build Pipeline)依赖计算的蝴蝶效应,解析了Prefab修改如何触发全量重建的机制。通过分析Asset与Object的层级关系、依赖计算的三种维度及CacheEntry系统,揭示了全量重建的根本原因,并提供了依赖可视化工具开发、优化策略与最佳实践,帮助开发者提升构建效率。

weixin_29015051的博客 444

Shell 单引号里引用变量

最近在Kaldi里试图输出N-Best的每一个sentence的文本还有声学模型以及语言模型的分数,但是在使用Shell命令的时候,发现单引号里的变量无法引用 s5=/data3/ots_use_libri_asr001_003/s5 exp=exp/nnet2_online/nnet_a_online graph=graph_tgsmall num=1 nbest-to-linear ark:n...

天帝帝释天的专栏 1万+

OpenCV实战:如何用Debevec算法搞定相机响应函数(附完整代码)

本文详细介绍了如何使用OpenCV实现Debevec算法计算相机响应函数(CRF),并应用于HDR图像合成。通过完整的代码示例和工程实践问题解决方案,帮助开发者掌握从原理到实现的关键步骤,提升高动态范围成像和计算机视觉任务的处理能力。

weixin_29061041的博客 229

Shell 变量用双引号

Shell  变量用双引号引起来,双引号就是表示这个双引号内为一个字符串。 对于 if 条件语句里所有的字符串的比较时,最好是在变量的外面加上双引号。特别是 if -n 判断字符串是否为null时候(null意思就是字符串长度为0),一定要加上双引号。否则,像下面的case就会出错。 a="" if [ -n $a ] 等价于 if[ -n ] 对于字符串长度为0时,相当于没有参数

太阳的味道 3584

Hypermesh二次开发实战:从Tcl/Tk脚本到Ext API的进阶之路

本文系统介绍了Hypermesh二次开发的进阶路径,从自动化重复操作的Tcl/Tk脚本入门,到利用HMASCII接口深度读写模型数据,最终深入Ext API进行高性能计算与功能定制。通过实战案例,帮助工程师掌握从脚本录制到C++插件开发的完整技能,显著提升CAE前处理效率与自动化水平。

weixin_29306875的博客 671

抓包工具(五)2025版 Burp Suite Professional的下载、安装、使用

抓包工具(五)2025版 Burp Suite Professional的下载、安装、使用

ACGkaka的博客 2万+

Linux Shell - 单引号 ( ‘ )、双引号 ( “ ) 和反引号 ( ` )

Linux Shell - 单引号 ( ‘ )、双引号 ( “ ) 和反引号 ( ` )

程永强 3万+

生物信息学新手必备:5分钟搞定GEO补充数据下载(含西柚云代理配置)

本文为生物信息学新手提供了快速下载GEO数据库补充数据的完整方案。核心在于解析GEO文件存储逻辑,构造正确的FTP下载链接,并利用云端代理服务(如西柚云)解决国内访问NCBI速度慢、易中断的问题。通过分步教程,用户无需命令行即可在5分钟内稳定获取大型测序文件,极大提升数据获取效率。

weixin_28314575的博客 637

Shell编程

Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash Shell Shell也是一门编程语言<解释型的编程语言>,即shell脚本<就是在用linux的shell命令编程> 一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支持的命令语法是不相同的基本格式代码写在普通文本文件中,通常以 .sh为后

Cloud的博客 358

【Qt】QtCreator远程部署、调试程序

1)QtCreator 工具–> 选项 --> 设备 --> 添加2)设备设置向导选择–> Generic Linux Device --> 开启向导3)填写“标识配置的名称”(随便写)、设备IP、用户名 --> 下一步4)选择配对秘密文件,第一次配对,可以不填写,点击“下一步”5)点击“完成”6)设备添加成功,需要再配置SSH端口号、用户名、密码等7)保存SSH登陆密码:验证类型选择默认“Default”–> “创建新密钥”–> “Test”

郭老二 5193

超硬核实操!DeepSeek 全方位赋能嵌入式工程师,干货满满

摘要:本文聚焦 DeepSeek 大语言模型在嵌入式开发中的实操应用。开篇阐述其在开发前期助工程师精准理解需求、规划架构;代码编写阶段,可生成补全代码、助力算法实现与优化;调试测试时,能定位问题、生成测试用例;学习阶段,帮整理资料、规划学习路径。文中借助 Python 实现与模型交互,提供大量实操流程与代码示例。虽存在不足,但实操彰显其巨大潜力,为嵌入式工程师提供高效工作新思路与全面实操指南。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2001

Linux外壳程序编程 shell编程 引号详解

1.shell变量的定义及其使用2.位置参数和环境变量3.shell中的特殊字符目录前言一、SHELL变量二、SHELL中的特殊字符(1)通配符1. * 星号2.?问号3.!叹号(2)引号1.双引号2.单引号-所见即所得3.倒/反引号和$作用相同4.反斜线三、条件测试1.字符串比较2.数字比较3.文件操作符四、测试语句五、执行shell程序的方法。

m0_57656758的博客 1226

SAP成本核算的核心逻辑

SAP成本核算采用"计划-归集-分析"闭环管理,以CO模块为核心,集成PP、MM等模块。核算前需配置标准成本控制范围、成本中心等主数据。标准成本通过BOM和工艺路线计算(CK11N),采购和生产过程记录实际成本差异。制造费用通过成本中心归集,作业成本按实际耗用量分配。完工产品按标准成本入库,月末通过KO88结算工单差异,物料分类账(CKMLCP)还原实际成本。整个流程实现FI与CO数据同步,确保账务一致。关键事务码包括CK11N(成本估算)、MIGO(物料移动)、CO11N(报工)等。

金牌架构师 537

Shell 引号机制:不加引号、双引号与单引号的本质区别

在 Shell 脚本编程中,引号的使用对字符串、变量、特殊字符和命令的解析方式有显著影响。不加引号时,Shell 会进行单词分割、通配符扩展、变量扩展和命令替换,适合需要扩展的场景,但可能引发意外错误。双引号阻止单词分割和通配符扩展,同时允许变量和命令替换,是推荐的使用方式。单引号则完全阻止所有扩展,适用于需要保留原始文本的场景。理解这些差异并根据需求选择合适的引用方式,是编写高效、健壮 Shell 脚本的关键。

vortex5的博客 1402

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

[小技巧7]shell中单引号、双引号、反引号的区别,以及变量替换的方法

shell中单引号、双引号、反引号的区别,以及变量替换的方法

分享工作中解决的问题,希望能帮到你 1022

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

shell编程中,单引号,双引号,各种括号的区别

一、单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题。 因为空格在linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错。为了避免这个问题,因此就产生了单引号和双引号。他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中的'$'(参数替换)和'`'(命令替换)是例外。所以,两者基本上没有什么区别,除非在内容中遇到...

danwuxie的博客 2292

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Linux专栏】shell脚本变量的取值|转换

变量名以字母或下划线开头,区分大小写,建议全大写变量名=变量值 ,将右边的值赋予左边查看变量的值:echo $变量名aaa=111bbb=222– $变量名:用来引用变量的值。例如,$HOME表示当前用户的主目录。– ${变量名}:与$变量名类似,但用于明确变量名的边界。特别适用于需要明确变量名边界的情况。– $((表达式)):用于进行算术运算。例如,$((2+2))将返回4。– `命令`:将命令的输出结果作为字符串进行替换。例如,`date`将返回当前的日期。

weixin_42081167的博客 1579

bash 单引号 双引号_Bash Shell中的单引号和双引号有什么区别?

bash 单引号 双引号Enclosing text in quotation marks is fairly standard practice on the command line, especially when dealing with files that have spaces in the names, but how do you know whether to use sing...

culiyuan8310的博客 721

linux shell中‘‘,““和``的区别

在使用shell脚本编程中,经常会遇到单引号、双引号、以及反单引号,这三者有何区别? 一、双引号 双引号的一般出现在含有空格的变量中,请看下例 $ echo $my_variable $ my_variable=Hello $ $ echo $my_variable Hello 非常简单!现在每次引用my_variable 环境变量的值,只要通过$my_variable引用即可。 如果要给变量赋一个含有空格的字符串值,必须用单引号来界定字符串的首和尾。 $ my_variable=Hello World

MyySophia的博客 8830

linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别

一、单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题。 因为空格在linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错。为了避免这个问题,因此就产生了单引号和双引号。他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中的'$'(参数替换)和'`'(命令替换)是例外。所以,两者基本上没有什么区别,除非在内容中遇到

好记忆也需烂博客 7万+

【Linux】shell脚本教程

一、shell历史 二、执行脚本 三、基本语法 (变量,变量的分类,删除变量,文件名代换(Globbing),命令代换,算术代换,转义字符,单引号,双引号)四、Shell脚本语法(条件测试,分支,if/then/elif/else/fi,case/esac,循环,for/do/done,​​​​​​while/do/done,​​​​​break和continue,​​​位置参数和特殊变量,输入)

crr411422的博客 6300

Linux中编写Shell脚本

目录 Shell Shell脚本的执行 Shell脚本编写规范 Shell 中的变量 变量的算术运算 双小括号 (()) 数值运算命令的用法 let 运算命令的用法 expr 命令的用法 br 命令的用法 $[] 符号的运算示例 Shell脚本的条件测试 几种条件测试语句 文件测试操作符 字符串测试操作符 整数二元比较操作符 逻辑操作符 测试表达式 test 、[] 、[[]] 、 (()) 的区别 if 条件判断语句 case 条件判断语句 for循环语句 wh.

木牛的博客 1万+

Linux命令:grep后的单引号与双引号区别

单引号与双引号的最大不同在于双引号仍然可以保有变数的内容,但单引号内仅能是一般字元 ,而不会有特殊符号。双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容。这四个字符在双引号中是具有特殊含义的,其他都没有,而单引号使所有字符都失去特殊含义。单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换。把四个\,转义成2个\传递给grep,grep再把2个\转义成一个\查找。没转义,直接把2个\传递给grep,grep再把2个\转义成一个\查找。

cronaldo91的博客 3423

六、Linux的Shell脚本编程

第六章:shell编程 1.1 shell的概念介绍 1.1.1 命令解释器 Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核(kernel)能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给用户,下图所示用户、shell和操作系统的关系: 一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell。 .

程序猿的博客 9798

Linux_Bash脚本_单引号’双引号“”反引号`小括号()中括号[]大括号{}

一、单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题。 因为空格在linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错。为了避免这个问题,因此就产生了单引号和双引号。他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中的'$'(参数替换)和'`'(命令替换)是例外。所以,两者基本上没有什么区别,除非在内容中遇到

优快云-MarkYang 3800
上一篇: -bash: ./shellEq.sh: bin/bash: bad interpreter: 没有那个文件或目录
下一篇: Java数组冒泡排序 (代码)
strure
博客等级 码龄10年 16粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值