四、shell - 字符串

 

目录

1、单引号

2、双引号

3、拼接字符串

3.1 使用双引号拼接

3.2 使用单引号拼接

4、获取字符串长度

​​​​​​​5、提取子字符串

​​​​​​​6、查找子字符串


​​​​​​​字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。

1、单引号

name='乔布斯'

str='我很崇拜$name'

echo $str

输出结果为:

我很崇拜$name

单引号字符串的限制:

单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的,单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

​​​​​​​2、双引号

name="乔布斯"

str="我很崇拜$name"

echo $str

输出结果为:

我很崇拜 乔布斯

双引号的优点:

  1.  双引号里可以有变量
  2.  双引号里可以出现转义字符

3、拼接字符串

3.1 使用双引号拼接

test6.sh

#!/bin/bash

yourname="吴恩达"

wenhou_1="你好,$yourname ."

wenhou_2="你好,"$yourname" ."

wenhou_3="你好,\"$yourname\" ."

echo $wenhou_1 $wenhou_2 $wenhou_3

输出结果为:

你好,吴恩达 . 你好,吴恩达 . 你好,"吴恩达" .

3.2 使用单引号拼接

test7.sh

#!/bin/bash

yourname="乔布斯"

wenhou_4='你好,$yourname.'

wenhou_5='你好,'$yourname.''

wenhou_6='你好,"$yourname" .'

echo $wenhou_3 $wenhou_4 $wenhou_5

输出结果:

你好,$yourname. 你好,乔布斯. 你好,"$yourname" .

​​​​​​​4、获取字符串长度

test8.sh

#!/bin/bash

string="jobs"

echo ${string}    # 输出结果: jobs

echo ${#string}   # 输出结果: 4

​​​​​​​5、提取子字符串

以下实例从字符串索引为2 的字符开始截取 4 个字符

test9.sh

#!/bin/bash

string="敢于亮剑决不后退"

echo ${string:2:2}    # 输出结果为: 亮剑

​​​​​​​6、查找子字符串

查找字符 i 或 o 的位置(哪个字母先出现就计算哪个):

test10.sh

#!/bin/bash

string="i am a boy"

echo `expr index "$string" io`    # 输出是: 1

注意: 以上脚本中 ` 是反引号(Esc下面的),而不是单引号 ',不要看错了哦。

 往期回顾:

一、shell编程简介
二、shell编程快速入门
三、shell - 变量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/204508.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大模型的RPA应用 | 代理流程自动化(APA),开启智能自动化新纪元

随着技术创新的持续推进,自动化技术已经变得至关重要,成为驱动企业和社会向前发展的核心动力。在自动化的里程碑中,机器人流程自动化(RPA)已经有效地将简单、重复且规则性的任务自动化。可是随着对处理更为复杂、多变且…

“最甜港姐”走的与众不同之路

网络图片 媒体最新报道,她被誉为“最甜港姐”,曾是TVB炙手可热的当红花旦,却在最当红的时候选择急流勇退。 她不是退圈去相夫教子,而是读书深造,成为一名专业律师。 前不久,又有消息传出,明年…

VUE2+THREE.JS辉光设定和解决辉光导致背景变暗的问题

THREE.JS辉光设定和解决辉光导致背景变暗的问题 THREE.JS 辉光设定THREE.JS 辉光导致背景变暗的问题1.设定背景图片2.初始化辉光3. animate 一直渲染辉光 THREE.JS 辉光设定 给我的设计好的fbx模型,已经设定好了模型发光材质,所以直接添加辉光效果,就可以自动发光 blender模型生…

Docker 安装部署 Sentinel Dashboard

1、下载 jar 包 官方 jar 包下载地址:https://github.com/alibaba/Sentinel/releases 或者点击 链接 直接跳转到下载页 进入链接下载你需要的版本 下载完毕(我这里统一放在一个sentinel目录内) 2、编写 Dockerfile 文件(这里我不…

求臻医学满分通过EMQN室间质评,检测实力再获国际权威机构认可

近日,欧洲分子基因诊断质量联盟(European Molecular Genetics Quality Network,EMQN)公布了2023年Oncogene panel 项目能力验证考核结果,求臻医学旗下北京和杭州检验实验室,使用自主研发的ChosenOne大Panel…

Apache DolphinScheduler 开源之夏采访:苏国伟的开源之旅

个人介绍 大家好,我是苏国伟,来自西安电子科技大学软件工程专业。我在实验室中主要从事数据集成等方面的工作。除了编程,我还热衷于踢足球、观看球赛和健身,这些爱好让我的生活更加丰富多彩。 开源之路 我最初是在本科的分布式…

【Linux基础开发工具】yum生态vim的配置与使用

目录 前言 1. Linux 软件包管理器 yum 1.1 什么是yum 1.2 快速上手yum 1.3 yum生态 2. Linux编辑器vim 2.1 vim的模式 2.2 vim使用技巧 3. vim编辑器辅助功能配置 3.1 配置 3.2 用户sudo权限配置 总结 前言 Linux基础指令与权限之后,Linux系统开发工具的使用…

美林防火建材——朱林甫 坚韧与创新:美林传奇

在这个变幻莫测的时代,有一些创业者凭借着对行业的深刻理解和对未来的敏锐洞察,不仅在商海中乘风破浪,更是引领了整个行业的发展。今天,我们要讲述的,就是一位这样的创业者——来自浙江嘉善的朱总,他创立的…

初始Redis(入门篇)

目录 什么是Redis Redis特性 速度快 丰富的功能 客户端语言多 持久化 主从复制 Redis可以做什么 缓存 排行榜系统 计数器应用 消息队列系统 Redis安装 centos7安装 Redis重要文件 Redis的使用 Redis通用命令 set get keys exists del expire 什么是Redi…

生成式AI与预测式AI的主要区别与实际应用

近年来,预测式人工智能(Predictive AI)通过先进的推荐算法、风险评估模型、以及欺诈检测工具,一直在推高着该领域公司的投资回报率。然而,今年初突然杀出的生成式人工智能(Generative AI)突然成…

如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件

​ 某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案,其中对Dll文件的保护介绍如下, “Dll加固混淆针对Unity游戏,对Dll模块的变量名、函数名、类名进行加密混淆处理&…

Android中添加C或C++代码

1、创建cpp目录,用于存放C和C代码。 2、创建CMake构建脚本CMakeLists.txt文件,将其放在cpp目录中。 # Sets the minimum version of CMake required to build the native library. cmake_minimum_required(VERSION 3.22.1)# Declares and names the pro…

单宁对葡萄酒可饮用性和陈酿潜力会有影响吗?

当在酿酒过程中葡萄酒中的单宁过量时,酿酒师可以使用白蛋白、酪蛋白和明胶等各种细化剂,这些药物可以与单宁分子结合,并将其作为沉淀物沉淀出来。随着葡萄酒的老化,单宁将形成长长的聚合链,氧气可以与单宁分子结合&…

数据挖掘实战-基于word2vec的短文本情感分析(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

【PPT模板合集】关于自制内容的PPT模板合集,包括原创的PPT及改良内容的PPT,适合科研/比赛/工作

【PPT模板合集】关于自制内容的PPT模板合集,包括原创的PPT及改良内容的PPT,适合科研/比赛/工作 零、前言一、校园层面的PPT模板1.1 各种毕业答辩1.2 夏令营答辩1.3 奖学金答辩1.4 比赛/项目答辩 二、学术层面的PPT模板2.1 学术汇报2.2 会议海报类型 三、…

使用VScode通过内网穿透在公网环境下远程连接进行开发

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…

网站监控有什么作用?

科技改变生活,科技的发展让我们的生活越来越精彩丰富,数据中心机房监控系统也可以称为“自我监控系统”,主要是针对机房所有的设备及环境进行集中监控和管理的,其监控对象构成机房的各个子系统:动力系统、环境系统、消…

SpringBoot+Redis获取电脑信息

获取电脑信息 测试 System.getProperties(); System: 是Java中的一个内置类,用于提供与系统相关的功能和信息。这个类中包含了一些静态方法和常量,可以让您方便地访问和操作系统级别的资源。 getProperties(): 是一个静态方法,它返回一个表示…

学习笔记小结

redis-cluster集群 redis3.0引入的分布式存储方案 集群由多个node节点组成,redis数据分布在这些节点当中。 在集群之中分为主节点和从节点 集群模式当中,主从一一对应,数据的写入和读取与主从模式一样,主负责写,从…

实时沟通,实时增长:企业使用WhatsApp Business的不二选择

在数字化浪潮中,WhatsApp Business崭露头角,成为企业与客户之间沟通的新利器。今天运营坛将和大家深入探讨WhatsApp Business在2023年为企业带来的机遇,从增长率、客户群体、功能特性以及优势等方面剖析为何企业需要充分利用这一强大工具。 W…