Shell脚本字符串应用

news/2024/11/20 7:26:35/

记录:440

场景:Shell脚本字符串应用。定义字符串、获取字符串长度、拼接字符串、截取字符串。

版本:CentOS Linux release 7.9.2009。

1.Shell脚本定义字符串(使用单引号或双引号或不使用引号)

1.1脚本

脚本名称:b2023060131.sh

脚本内容:

#!/bin/bashecho '1.使用单引号定义字符串,单引号内容原样输出,变量不会被解析'
cityName='杭州'
provinceName='浙江的省会城市: ${cityName}'
echo ${provinceName}echo '2.使用双引号""定义字符串,双引中变量会被解析'
cityName='杭州'
provinceName="浙江的省会城市: ${cityName}"
echo ${provinceName}echo '3.不使引号定义字符串'
cityName=杭州
provinceName="浙江的省会城市: ${cityName}"
echo ${provinceName}

1.2执行与输出

执行命令:bash b2023060131.sh

执行结果:

[root@hadoop211 tutorial]# bash b2023060131.sh 
1.使用单引号定义字符串,单引号内容原样输出,变量不会被解析
浙江的省会城市: ${cityName}
2.使用双引号""定义字符串,双引中变量会被解析
浙江的省会城市: 杭州
3.不使引号定义字符串
浙江的省会城市: 杭州

2.Shell脚本获取字符长度

2.1脚本

脚本名称:b2023060132.sh

脚本内容:

#!/bin/bashecho '1.定义字符串'
cityInfo01="杭州是一个互联网城市"
cityInfo02='杭州是一个互联网城市'
cityInfo03=杭州是一个互联网城市echo '2.获取字符串长度'
echo "cityInfo01的长度: ${#cityInfo01}"
echo "cityInfo02的长度: ${#cityInfo02}"
echo "cityInfo03的长度: ${#cityInfo03}"

2.2执行与输出

执行命令:bash b2023060132.sh

执行结果:

[root@hadoop211 tutorial]# bash b2023060132.sh 
1.定义字符串
2.获取字符串长度
cityInfo01的长度: 10
cityInfo02的长度: 10
cityInfo03的长度: 10

3.Shell脚本拼接字符串

3.1脚本

脚本名称:b2023060133.sh

脚本内容:

#!/bin/bashecho '1.定义字符串'
cityInfo01="杭州在浙江省."
cityInfo02='杭州是一个互联网城市.'
cityInfo03="杭州西湖是一个美丽的景区."echo '2.使用变量直接拼接,中间不能有空格'
cityAll01=${cityInfo01}${cityInfo02}${cityInfo03}
echo "${cityAll01}"echo '3.在双引号中,使用变量直接拼接,中间可以有空格'
cityAll02="${cityInfo01} ${cityInfo02} ${cityInfo03}"
echo "${cityAll02}"echo '4.使用变量直接拼接,使用双引号连接,可以是空格或者字符串'
cityAll03=${cityInfo01}" "${cityInfo02}"杭州西溪湿地公园."${cityInfo03}
echo "${cityAll03}"echo '5.在双引号中,使用变量直接拼接,中间可以有空格或者字符串'
cityAll04="${cityInfo01} ${cityInfo02} 杭州有城市阳台. ${cityInfo03}"
echo "${cityAll04}"

3.2执行与输出

执行命令:bash b2023060133.sh

执行结果:

1.定义字符串
2.使用变量直接拼接,中间不能有空格
杭州在浙江省.杭州是一个互联网城市.杭州西湖是一个美丽的景区.
3.在双引号中,使用变量直接拼接,中间可以有空格
杭州在浙江省. 杭州是一个互联网城市. 杭州西湖是一个美丽的景区.
4.使用变量直接拼接,使用双引号连接,可以是空格或者字符串
杭州在浙江省. 杭州是一个互联网城市.杭州西溪湿地公园.杭州西湖是一个美丽的景区.
5.在双引号中,使用变量直接拼接,中间可以有空格或者字符串
杭州在浙江省. 杭州是一个互联网城市. 杭州有城市阳台. 杭州西湖是一个美丽的景区.

4.Shell脚本截取字符串

4.1脚本

脚本名称:b2023060134.sh

脚本内容:

#!/bin/bashecho '1.定义字符串变量tech'
tech='The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing.'
echo "${tech}"echo '2.使用${string: start: length}从左边start位置开始截取length个字符(start从0开始计数)'
tech01=${tech: 4: 13}
echo "输出截取的字符串: ${tech01}"echo '3.使用${string: start}从左边start位置开始截取字符(start从0开始计数)'
tech02=${tech: 4}
echo "输出截取的字符串: ${tech02}"echo '4.使用${string: 0-start: length}从右边数第start位置开始向右截取length个字符(start从1开始计数)'
tech03=${tech: 0-10: 9}
echo "输出截取的字符串: ${tech03}"echo '5.使用${string: 0-start}从右边边start位置开始截取字符(start从1开始计数)'
tech04=${tech: 0-22}
echo "输出截取的字符串: ${tech04}"echo '6.定义字符串变量tech_d'
tech_d='The Apache Hadoop project is open-source software. The Apache Hadoop software library is a framework.'
echo "${tech_d}"echo '7.使用${string#*chars}截取指定字符串第一个匹配字符串的右边的字符串'
tech05=${tech_d#*Apache}
echo "输出截取的字符串: ${tech05}"echo '8.使用${string##*chars}截取指定字符串最后一个匹配字符串右边的字符串'
tech06=${tech_d##*Apache}
echo "输出截取的字符串: ${tech06}"echo '9.使用${string%%chars*}截取指定字符串第一个匹配字符串的左边的字符串'
tech07=${tech_d%%Hadoop*}
echo "输出截取的字符串: ${tech07}"echo '10.使用${string%chars*}截取指定字符串最后一个匹配字符串左边的字符串'
tech08=${tech_d%Hadoop*}
echo "输出截取的字符串: ${tech08}"

4.2执行与输出

执行命令:bash b2023060134.sh

执行结果:

[root@hadoop211 tutorial]# bash b2023060134.sh 
1.定义字符串变量tech
The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing.
2.使用${string: start: length}从左边start位置开始截取length个字符(start从0开始计数)
输出截取的字符串: Apache Hadoop
3.使用${string: start}从左边start位置开始截取字符(start从0开始计数)
输出截取的字符串: Apache Hadoop project develops open-source software for reliable, scalable, distributed computing.
4.使用${string: 0-start: length}从右边数第start位置开始向右截取length个字符(start从1开始计数)
输出截取的字符串: computing
5.使用${string: 0-start}从右边边start位置开始截取字符(start从1开始计数)
输出截取的字符串: distributed computing.
6.定义字符串变量tech_d
The Apache Hadoop project is open-source software. The Apache Hadoop software library is a framework.
7.使用${string#*chars}截取指定字符串第一个匹配字符串的右边的字符串
输出截取的字符串:  Hadoop project is open-source software. The Apache Hadoop software library is a framework.
8.使用${string##*chars}截取指定字符串最后一个匹配字符串右边的字符串
输出截取的字符串:  Hadoop software library is a framework.
9.使用${string%%chars*}截取指定字符串第一个匹配字符串的左边的字符串
输出截取的字符串: The Apache 
10.使用${string%chars*}截取指定字符串最后一个匹配字符串左边的字符串
输出截取的字符串: The Apache Hadoop project is open-source software. The Apache

以上,感谢。

2023年6月1日


http://www.ppmy.cn/news/152961.html

相关文章

电动汽车简介

随着社会的发展和进步,科技的日新月异,电动汽车已经越来越普及了,它给社会带来便利的同时,也对解决空气污染有很大的作用,下面让我们来一起了解一下电动汽车的相关知识。

二手电动车买卖协议书

甲方:(卖方)________ 签名 身份证号码:__________________ 乙方:(买方)________ 签名 身份证号码:__________________ 甲方有电动车一辆,品牌:________ 厂牌…

怎么提高电动车续航里程?

主要有四种,分别为电池问题、电机问题、阻力因素,日常维护。 其中,电池问题一般分为电池容量低、电池故障、天气变冷等; 电机问题主要是电机生锈退磁; 而阻力因素则是刹车过紧、轮胎胎压不足等。 一、增加电池容量 …

消耗品or耐用品:两轮电动车离“靠谱”还有多远?

作者 | 曾响铃 文 | 响铃说 知名问答网站“知乎”上有这样一个问题:“国内两轮电动车就没一个靠谱的么?”在其之下,除了几个详细分析产品的答案,大多数的答案都表达出否定的意思。 暂且不论一个互动问答是否足够代表市场&#x…

购买新能源电动车参考

1.为什么买新能源,开过电车(含混动)就回不去了,各种嫌弃。油价只是心理因素,核心是驾驶体验,远程启动和车内休息等问题。 2.买EV还是混动。个人建议普通工薪阶层,纯电只买车价15万及以下的就好了…

吉利汽车推电动“熊猫mini” 众车企为何热衷微型电动车市场?

吉利汽车推出电车“熊猫mini”,众车企为何开始布局微型汽车市场? 提起微型汽车,很多人会将其与“臭名昭著”的“老头乐”联系起来。但是严格的来说,“老头乐”算不上汽车,因为它始终没有作为机动车被承认,…

【SCADA】启动KingSCADA运行系统,提示加载报警库服务失败?

大家好,我是雷工! 今天启动KingSCADA时,发现无法运行,提示“加载 报警库服务 失败”,现将问题排查及解决问题的过程记录如下。 一、问题描述: 1、提示如下图: 2、信息窗口提示: …

笔记本支架有什么作用

由于生活质量的提高,笔记本电脑基本上成为了每家每户必备的上网设备,而支架作为笔记本电脑的常见配件,主要作用分为这三个方面: 1.不需要瓶盖了,增加受风量,散热更好。 2.调整高度对颈椎有好处&#xff0…