返回顶部
首页 > 资讯 > 操作系统 >Linux Shell字符串变量拼接与赋值的使用
  • 651
分享到

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

Shell字符串变量拼接Shell字符串变量赋值 2023-05-06 09:05:30 651人浏览 安东尼
摘要

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

目录
  • 1.字符串拼接
  • 2.定义值为双引号或单引号的字符串
  • 3.在单引号和双引号字符串中取变量值

最近在工作用到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, "age":"45" }
{ "name":test, "age":"45" }

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

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

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

--结束END--

本文标题: Linux Shell字符串变量拼接与赋值的使用

本文链接: https://lsjlt.com/news/202001.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux Shell字符串变量拼接与赋值的使用
    目录1.字符串拼接2.定义值为双引号或单引号的字符串3.在单引号和双引号字符串中取变量值最近在工作用到shell脚本,用到了字符串变量的拼接,同时需要对字符串进行赋值,这里与大家分享一下, 1.字符串拼接 shell脚本...
    99+
    2023-05-06
    Shell字符串变量拼接 Shell字符串变量赋值
  • LinuxShell字符串变量拼接与赋值的使用
    目录1.字符串拼接2.定义值为双引号或单引号的字符串3.在单引号和双引号字符串中取变量值最近在工作用到shell脚本,用到了字符串变量的拼接,同时需要对字符串进行赋值,这里与大家分享...
    99+
    2023-05-19
    Shell字符串变量拼接 Shell字符串变量赋值
  • Linux下shell脚本字符串变量拼接与赋值的方法
    本篇内容介绍了“Linux下shell脚本字符串变量拼接与赋值的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.字符串拼接shell脚...
    99+
    2023-06-28
  • c++字符串变量怎么赋值
    在C++中,可以使用等号(=)将一个字符串赋值给一个字符串变量。具体语法如下: std::string str; // 声明一个字符...
    99+
    2023-10-27
    c++
  • linux中shell字符串拼接的方法是什么
    在Linux的shell脚本中,可以使用多种方法进行字符串拼接,包括:1. 使用括号和空格进行拼接:```str1="Hello"s...
    99+
    2023-08-30
    linux shell
  • Shell 字符串拼接的实现示例
    1. 字符串声明 概述 字符串的基本操作 脚本 1 # 声明字符串 str01="str01" echo ${str01} # 单引号也可以 # 不过后面的例子, 通常是用 双引号, 具体原因, 以后会解...
    99+
    2022-06-04
    Shell 字符串拼接
  • javascript中一串有引号的字符串怎么赋值给变量
    今天小编给大家分享一下javascript中一串有引号的字符串怎么赋值给变量的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在...
    99+
    2023-07-05
  • SQLSERVER 拼接含有变量字符串案例详解
    一、拼接字符串(整个字符串不分割)步骤: 首先在字符串的前后加单引号; 字符串中的变量以'''+@para+'''在字符串中表示; 若在执行时存在类型转换错...
    99+
    2024-04-02
  • JavaScript 模板字符串的妙招:让字符串拼接变得有趣
    模板字符串是 JavaScript 中一项强大的功能,它使字符串拼接变得更加简单、灵活和动态。与传统的字符串连接操作符(+)相比,模板字符串提供了更简洁、更易读的语法,同时还允许轻松嵌入表达式和变量。 妙招 1:嵌入表达式 使用模板字符串...
    99+
    2024-03-10
    引言
  • shell脚本字符串处理的使用(分割、截取和拼接)
    目录1、分割2、截取3、拼接4、示例1、分割 按字符分割:${parameter//pattern/string} 。用string来替换parameter变量中所有匹配的pattern 示例: #!/bin/bash ...
    99+
    2023-03-23
    shell脚本字符串处理 shell 字符串处理
  • sql中的字符串拼接怎么跳过空值
    在 sql 中拼接字符串时,可以通过以下方法跳过空值:coalesce() 函数:返回第一个非 null 的值。ifnull() 函数:如果第一个参数不为 null,则返回第一个参数,否...
    99+
    2024-05-08
  • Java中字符串占位替换、字符串拼接、字符串与Collection互转的方式
    场景 字符串占位替换 String.format 最原始最基础的方式。 使用%来表示占位,后面跟上不同的标识符,用于限定这个占位符的参数类型,由jdk原生提供支持。 示例:         String badao = String.for...
    99+
    2023-09-03
    java servlet 开发语言
  • MyBatis中正则使用foreach拼接字符串
    目录正则使用foreach拼接字符串foreach标签拼接多字段in ,和union正则使用foreach拼接字符串 业务需求:使用代理名字查询该代理的所有下级代理 数据库...
    99+
    2024-04-02
  • C语言的变量与常量 字符字符串与转义字符详解
    目录一.变量1.1定义变量的方法1.2变量的分类1.3变量的使用二.常量2.1字面常量 2.2 const修饰的常变量 2.3#define定义的标识符常量2.4...
    99+
    2024-04-02
  • 怎么在JavaScript中使用join拼接字符串
    本篇文章为大家展示了怎么在JavaScript中使用join拼接字符串,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。javascript是一种什么语言javascript是一种动态类型、弱类型的语言...
    99+
    2023-06-14
  • shell编程中变量,字符串,数组,函数的使用方法
    这篇文章主要介绍“shell编程中变量,字符串,数组,函数的使用方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“shell编程中变量,字符串,数组,函数的使用方法”文章能帮助大家解决问题。一. 变...
    99+
    2023-06-29
  • 怎么在Java中使用变量赋值运算符
    今天就跟大家聊聊有关怎么在Java中使用变量赋值运算符,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 赋值运算符以符号“=”表示,它是一个二元运算符(对两个操作数作处理),...
    99+
    2023-05-31
    java 变量赋值运算符 ava
  • Java中list.foreach不能使用字符串拼接的问题
    目录list.foreach不能使用字符串拼接如图,不能使用String进行拼接foreach循环中不能使用字符串拼接问题解决原理   lambda表达式使用...
    99+
    2024-04-02
  • pandas中拼接字符串cat()方法的使用示例
    小编给大家分享一下pandas中拼接字符串cat()方法的使用示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!既然在pandas中有分割字符串的方法,那么也是拼...
    99+
    2023-06-14
  • 使用Go语言拼接字符串的最佳实践
    使用Go语言拼接字符串的最佳实践 在Go语言中,字符串的拼接是一项常见的操作。在进行字符串拼接时,我们需要考虑到性能和内存的消耗。本文将介绍一些在Go语言中进行字符串拼接的最佳实践,并...
    99+
    2024-03-13
    go语言 最佳实践 拼接字符串
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作