Shell脚本入门 03:字符串与数组

您所在的位置:网站首页 shell数组长度限制 Shell脚本入门 03:字符串与数组

Shell脚本入门 03:字符串与数组

2023-12-15 17:32| 来源: 网络整理| 查看: 265

文章目录 目的字符串获取字符串长度拼接字符串截取字符串替换字符串判断与默认值 内嵌文档与内嵌字符串内嵌文档 Here Document内嵌字符串 Here String 数组数组定义与使用获取数组长度拼接数组删除数组或其中元素 关联数组总结

目的

字符串与数组是Shell编程中常用的数据类型,这篇文章将对相关内容进行介绍。

字符串

Shell中的变量基本上默认都是字符串,通常使用下面方式声明和定义字符串类型的变量:

variable=value # value中不能出现空格 variable='value' # ''内部所有内容都变为单纯的字符串,即使遇到$和``也不进行替换 variable="value: \"233\"" # ""内部遇到$和``以及转义符会进行替换 # variable是变量名,value是赋给变量的值 # 赋值=周围不能有空格(重点) # 所有变量的值都是字符串,比如var=123,123也会以字符串形式存储,即'123'或是"123" # 变量定义后可以使用=重新赋值

下面是一些常用的字符串操作,需要注意的是对于复杂的字符串操作往往更多的时候会使用 cut grep awk sed expr 等命令。

获取字符串长度

在Shell中可以使用 ${#string_name} 来获取字符串长度: 在这里插入图片描述

拼接字符串

在Shell中拼接字符串不需要任何运算符,只需要把字符串变量排列在一起就行: 在这里插入图片描述

截取字符串

在Shell中截取字符串主要有下面方法:

${string:start} # 从左边start位置开始,从左到右截取剩余所有的字符串 ${string:start:length} # 从左边start位置开始,从左到右截取length长度的字符串 ${string:0-start} # 从右边start位置开始,从左到右截取剩余所有的字符串 ${string:0-start:length} # 从右边start位置开始,从左到右截取length长度的字符串 ${string#chars} # 从左开始匹配第一个chars字符串,截取其右边的字符串 ${string##chars} # 从左开始匹配最后一个chars字符串,截取其右边的字符串 ${string%chars} # 从右开始匹配第一个chars字符串,截取其左边的字符串 ${string%%chars} # 从右开始匹配最后一个chars字符串,截取其左边的字符串

在这里插入图片描述

替换字符串

在Shell中替换字符串主要有下面方法:

${string/substring/replacement} # 使用$replacement, 来代替第一个匹配的$substring ${string//substring/replacement} # 使用$replacement, 代替所有匹配的$substring ${string/#substring/replacement} # 如果$string的前缀匹配$substring, 那么就用$replacement来代替匹配到的$substring ${string/%substring/replacement} # 如果$string的后缀匹配$substring, 那么就用$replacement来代替匹配到的$substring

在这里插入图片描述

判断与默认值 ${str:-DEFAULT} # 如果str为空, 那么就以DEFAULT作为返回值 ${str:=DEFAULT} # 如果str为空, 那么就以DEFAULT作为返回值, 并将str赋值为DEFAULT ${str:+OTHER} # 如果str不为空, 那么就以OTHER作为返回值 ${str:?ERR_MSG} # 如果str为空, 那么输出报错信息ERR_MSG并推出程序

在这里插入图片描述

内嵌文档与内嵌字符串 内嵌文档 Here Document

Linux中很多命令都是对文件中文本的操作,但有些小的内容放到一个个文件中再由这些命令来操作有时候并不合适,毕竟文件操作速度比较慢。这种情况中有一部分可以用 Here Document 来处理,其使用方式如下:

command


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3