Shell字符串

摘要:
单引号和双引号之间的区别与PHP相似。单引号字符串的限制:单引号字符串中的任何字符都将按原样输出,并且单引号字符串内的变量无效;单引号不能出现在单引号字符串中。

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

单引号字符串的限制:

  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
  • 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。

双引号的优点:

  • 双引号里可以有变量
  • 双引号里可以出现转义字符

获取字符串长度

string="abcd"
echo ${#string} #输出 4

提取子字符串

以下实例从字符串第 2 个字符开始截取 4 个字符:

string="runoob is a great site"
echo ${string:1:4}    输出 unoo

查找子字符串

查找字符 "i 或 s" 的位置:

string="runoob is a great company"
echo `expr index "$string" is`  # 输出 8

 注意: 以上脚本中 "`" 是反引号,而不是单引号 "'"

免责声明:文章转载自《Shell字符串》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇centos7安装gitlabMSSQL2008 R2 数据库展开报错:值不能为空 参数名:viewInfo下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

三层架构下GridView控件实现增删改查

三层架构下GridView控件实现增删改查 转自:https://blog.csdn.net/iteye_3224/article/details/82373073 第一步:建立三层,并添加他们之间的引用关系,如下图所示: 第二步:添加GridView表格,并且套用格式样式,如下图所示: 第三步:点击表格右侧的小三角,并选中编辑列,如下图...

springboot + @ControllerAdvice + @ExceptionHandler 实现全局异常拦截

1.目的:实现全局异常拦截,不用在controller在写try catch,使用代码看起来更加整洁 2.不啰嗦直接上代码 2.1首先我们创建一个异常捕获处理类(@RestControllerAdvice = @ControllerAdvice + @ResponseBody) @RestControllerAdvice@Slf4jpublic cla...

蓝桥杯 最优包含

这一题类似于距离编辑,所以我们首先来看看什么是编辑距离。 题目 2141: [信息学奥赛一本通-T1276 ]编辑距离  https://www.dotcpp.com/oj/problem2141.html 题目描述 设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:    1、删除一个字符; ...

Linux使用Shell在线语音播报功能

在文件夹中创建一个sh文件,内容如下: #!/bin/bash say() { #mplayer -really-quiet "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=5&text=$*"; #mpg321 -q "http://tts.baidu....

记录Java8中的字符串转数组再通过指定符号拼接

1.字符串转换字符串数组 String[] nameArr = StringUtils.tokenizeToStringArray(nameAttr, MULTI_VALUE_ATTRIBUTE_DELIMITERS); // nameAttr="made,in;china,;qqq,.aaa" ,MULTI_VALUE_ATTRIBUTE_DELIMI...

Delphi管理多线程之线程局部存储:threadvar

尽管多线程能够解决许多问题,但是同时它又给我们带来了很多的问题。其中主要的问题就是:对全局变量或句柄这样的全局资源如何访问?另外,当必须确保一个线程中的某些事件要在另一个线程中的其他时间之前(或之后)发生时,该怎么办?这里将讲解通过使用由 Delphi提供的线程局部存储和 A P I为线程提供同步的方法。 这里先讲线程局部存储,下一篇再讲线程同步 线程局部...