我的编程空间,编程开发者的网络收藏夹
学习永远不晚

LinuxShell字符串变量拼接与赋值的使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

LinuxShell字符串变量拼接与赋值的使用

最近在工作用到shell脚本,用到了字符串变量的拼接,同时需要对字符串进行赋值,这里与大家分享一下,

1.字符串拼接

shell脚本里面可以对字符串进行拼接,并且可以将拼接后的值赋予给另外一个变量,下图给出了几种字符串拼接的样例,供大家参考。

#!/bin/bash
a="123"  # 定义a变量为"123"
b="456"  # 定义b变量为"456"
first=$a$b  # 第一种方式来拼接字符串:直接取2个值,将变量值拼接
echo $first
second="$a$b" # 第二种方式来拼接字符串:在2个变量值最外面加字符串
echo $second
third="${a}${b}" # 第三种方式拼接字符串:和第二种类似,就是加${}来进行变量取值。
echo $third

执行上面的脚本,可以看到脚本的执行结果,这3种方式执行的结果是一样的,上述3种均可拼接字符串:

123456
123456
123456

2.定义值为双引号或单引号的字符串

我们知道在shell中单引号和双引号有着特殊的含义,两者也是有区别的,但是如何才能定义一个字符串,使得字符串本身的值包含双引号或者单引号呢,下面的代码,我们给出了示例:

#!/bin/bash
a="\"\""
b="'''"
c='""'
d=''''
echo $a
echo $b
echo $c
echo $d

执行上面的脚本,我们可以看到脚本的执行结果:

"" # 变量a的值为2个双引号
‘’‘ # 变量b的值为3个单引号
“” # 变量c的值为2个单引号
   # 变量d的值为空

看到上面的执行结果,我们大致也明白了如何才能定义值为双引号或者单引号的字符串了,下面分享一下我总结的技术知识点:

定义值为双引号的字符串的方法有2种:
1.1 定义变量时,在最外层使用双引号,在双引号内部使用 \ 来对双引号进行转义,类似于变量a的定义方式。
1.2 定义变量时,在最外层使用单引号,在单引号内部直接写双引号来进行定义,类似于变量c的定义方式。
定义值为单引号的字符串方法:在最外层使用双引号,在双引号的内部直接写单引号来进行定义,类似于变量b的定义方式。

上述只是我总结的一些知识点,肯定有遗漏的地方或者其他方法,欢迎各位补充。其实,至于为什么会出现上述情况,个人认为其根本原因在于,shell脚本中单引号与双引号的作用不同。,感兴趣的人可以自行百度,正是两者的区别才导致出现来上述的情况。

3.在单引号和双引号字符串中取变量值

shell中使用单引号和双引号的区别导致了在单引号和双引号变量中取值的不同,下面,下面我们首先来看一个例子,为大家解释下两者的不同:

#!/bin/bash
name="test"
a='{
  "name":$name,
  "age":"45"
}'
b="{
  "name":$name,
  "age":"45"
}"
echo $a
echo $b

执行上面一段shell脚本,可看到输出的结果:

{ "name":$name, "age":"45" } # 这是a的值
{ name:test, age:45 } # 这是b的值

通过上面的执行结果,我们可以看到以下几个问题:

  • 变量a的定义与变量b的定义,唯一的区别在于a是单引号,b是双引号。
  • 变量a的值并没有将name变量的值取出,变量b将name的值取出。
  • 变量a中定义的属性名均带有双引号(例如:“name”), 变量b的值定义的属性名并没有带双引号(例如:name)

那么如何解决上述的第二个和第三个问题呢,首先来看第2个问题,下面给出我的一种解决方式:

在单引号定义的字符串里面,如果想要取到变量的值,需要在变量值上再加一层单引号

下面我们对之前的变量a的定义做一个改造,给出一个示例来说明结果.

#!/bin/bash
name="test"
a='{
  "name":'$name',   ---> 这里给a的定义多加了一层单引号
  "age":"45"
}'
b="{
  "name":$name,
  "age":"45"
}"
echo $a
echo $b

再次执行上面的结果,我们可以看到执行结果:

{ "name":test, "age":"45" }
{ name:test, age:45 }

可以看到执行的结果,在变量a中,变量name的值确实被取出来,已进行赋值。

接下来,我们来看第3个问题,就是如何给变量b的属性名加双引号,这个问题的解决方法,类似于我们第二节中,如何定义值为双引号或者单引号的字符串。这里给出我的一个解决方法:利用转义字符。 下面给出我的示例:

name="test"
a='{
  "name":'$name',   ---> 这里给a的定义多加了一层单引号
  "age":"45"
}'
b="{
  "\"name\"":$name,  ---> 给每个属性值的双引号都加上了转义字符
  "\"age\"":"\"45\""
}"
echo $a
echo $b

执行上面的结果,我们可以看到执行结果为:

{ "name":test, "age":"45" }
{ "name":test, "age":"45" }

可以看到两者的值保持一致,我们可以得出以下结论:

  • 虽然两者实现了相同的功能,但是发现使用双引号的定义比较繁琐,使用单引号定义的方式比较简便。
  • 在使用单引号定义时,要注意如果要取某个变量的值,要在变量值上加单引号来取变量值。
  • 在使用双引号定义时,如果想正常显示双引号,需要使用转义字符来定义双引号。

到此这篇关于Linux Shell字符串变量拼接与赋值的使用的文章就介绍到这了,更多相关Shell字符串变量拼接与赋值内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

LinuxShell字符串变量拼接与赋值的使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

LinuxShell字符串变量拼接与赋值的使用

本文主要介绍了LinuxShell字符串变量拼接与赋值的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-19

Linux Shell字符串变量拼接与赋值的使用

目录1.字符串拼接2.定义值为双引号或单引号的字符串3.在单引号和双引号字符串中取变量值最近在工作用到shell脚本,用到了字符串变量的拼接,同时需要对字符串进行赋值,这里与大家分享一下, 1.字符串拼接 shell脚本里面可以对字符串进行
2023-05-06

Linux下shell脚本字符串变量拼接与赋值的方法

本篇内容介绍了“Linux下shell脚本字符串变量拼接与赋值的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.字符串拼接shell脚
2023-06-28

javascript中一串有引号的字符串怎么赋值给变量

今天小编给大家分享一下javascript中一串有引号的字符串怎么赋值给变量的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在
2023-07-05

使用Go语言拼接字符串的最佳实践

使用Go语言拼接字符串的最佳实践在Go语言中,字符串的拼接是一项常见的操作。在进行字符串拼接时,我们需要考虑到性能和内存的消耗。本文将介绍一些在Go语言中进行字符串拼接的最佳实践,并提供具体的代码示例。使用 strings.Join()
使用Go语言拼接字符串的最佳实践
2024-03-13

pandas中拼接字符串cat()方法的使用示例

小编给大家分享一下pandas中拼接字符串cat()方法的使用示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!既然在pandas中有分割字符串的方法,那么也是拼
2023-06-14

Python中字符串,列表与字典的常用拼接方法总结

本篇指南详细介绍了Python中字符串、列表和字典的常用拼接方法。字符串拼接可通过+运算符、join()或format()实现。列表拼接可以使用+、extend()或append()方法。字典拼接可通过update()方法、dict()构造函数或chainmap()函数完成。对于复杂场景,字符串插值、模板或正则表达式可用于字符串拼接。列表拼接会创建新对象,字典合并会覆盖相同键值对。
Python中字符串,列表与字典的常用拼接方法总结
2024-04-02

无法使用 userId(字符串类型的变量)作为结构文字中的 int 值

在PHP编程中,经常会遇到将字符串类型的变量用作整数值的情况。然而,根据PHP的语法规则,我们无法直接将一个字符串类型的变量作为整数值来使用,这将导致错误的结果。这个问题常常会让初学者感到困惑。因此,php小编柚子为大家带来了解决这个问题的
无法使用 userId(字符串类型的变量)作为结构文字中的 int 值
2024-02-10

Python高级变量的字典和字符串怎么使用

这篇文章主要讲解了“Python高级变量的字典和字符串怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python高级变量的字典和字符串怎么使用”吧!1、字典的定义dictionary
2023-06-22

shell脚本字符串处理的使用(分割、截取和拼接)

目录1、分割2、截取3、拼接4、示例1、分割 按字符分割:${parameter//pattern/string} 。用string来替换parameter变量中所有匹配的pattern 示例: #!/bin/bashstring="hel
2023-03-23

如何使用OutputDebugString打印字符串变量中的消息

要使用OutputDebugString打印字符串变量中的消息,可以按照以下步骤进行操作:1. 引入Windows.h头文件,该头文件包含了OutputDebugString函数的声明。```c#include ```2. 将要打印的消息存
2023-09-27

使用Go语言文档中的strings.Join函数实现字符串拼接

使用Go语言实现字符串拼接,是日常编程工作中非常常见的需求。其中,Go语言内置的strings.Join函数可以帮助我们轻松地实现字符串拼接。本文将介绍如何使用Go语言文档中的strings.Join函数实现字符串拼接,并提供具体的代码示例
使用Go语言文档中的strings.Join函数实现字符串拼接
2023-11-04

shell编程中变量,字符串,数组,函数的使用方法

这篇文章主要介绍“shell编程中变量,字符串,数组,函数的使用方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“shell编程中变量,字符串,数组,函数的使用方法”文章能帮助大家解决问题。一. 变
2023-06-29

使用Java怎么实现统计字符串中汉字与英文的数量

这期内容当中小编将会给大家带来有关使用Java怎么实现统计字符串中汉字与英文的数量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:package org.zhy.demo.algorithm;/*
2023-05-31

编程热搜

目录