版权声明
:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://franksun.blogbus.com/logs/17729745.html
1. 引用Bash变量的简洁形式为$varname
,它是一种完整形式为${varname
}
。
2. 替换操作符
:
(1)${varname
:-word
}
。若varname
存在且非null,返回其值,否则返回word
。用来返回默认值
。
(2)${varname
:+word
}
。若varname
存在且非null,返回word
,否则返回null。用来测试存在性
。
(3)${varname
:=word
}
。若varname
存在且非null,返回其值,否则将其设置为word
,再返回其值。用来设置默认值
。
(4)${varname
:?message
}
。若varname
存在且非null,返回其值,否则打印varname
:后跟信息message
,并退出当前命令或脚本。用来捕获未定义变量
。
(5)${varname
:offset
}
及${varname
:offset
:length
}
。返回$varname
从offset
位置开始(首字符为0),长length
的子字符串。若省略长度则至尾字符。
3. 模式匹配操作符
(此处的模式是指bash通配符
意义上的模式):
(1)${variable
#pattern
}
。若模式匹配变量的开头
,删除最短
的匹配部分,并返回其余部分。${variable
##pattern
}
。若模式匹配变量的开头
,删除最长
的匹配部分,并返回其余部分。
(2)${variable
%pattern
}
。若模式匹配变量的结尾
,删除最短
的匹配部分,并返回其余部分。${varible
%%pattern
}
。若模式匹配变量的结尾
,删除最长
的匹配部分,并返回其余部分。
(3)${variable
/pattern
/string
}
及${variable
//pattern
/string
}
。二者都是将variable
中匹配模式的最长
部分替换为string
。前者只替换首个
匹配的部分。后者替换所有
匹配的部分。
4. 长度操作符
:${#varname
}
。返回变量字符串值的长度。
分享到:
相关推荐
使用`+`操作符可以连接两个字符串: ```bash str1="Hello" str2="World" str3=$str1$str2 echo $str3 # 输出 "HelloWorld" ``` 八、模式匹配与扩展 BASH支持GLOB(全局通配符)匹配,如星号`*`代表任意数量的字符...
本文档详细介绍了Bash字符串操作中的参数扩展功能,该功能允许用户根据变量的值或是否存在来动态地替换变量值。参数扩展是Bash编程中常用的技术之一,尤其适用于编写脚本时变量处理。以下是根据文档内容总结的各个...
### Linux 字符串操作知识点详解 #### 一、获取字符串长度 在 Linux 下,可以通过多种方式来获取一个字符串的长度。 1. **使用 ${#variable}:** ```bash $ var="getthelengthofme" $ echo ${#var} 20 ``` ...
在C语言中,合并多个`char *`类型的字符串是一项常见的任务,这通常涉及到字符串操作和内存管理。在给定的场景中,`main.c`文件是测试程序,它调用了`tools.h`头文件中定义的`MultiCombine`函数,这个函数的目的是将...
- `expr`命令用于执行表达式,这里使用的是模式匹配操作符“:”来获取匹配到的字符串长度。 #### 三、查找子串位置 在Bash中,可以使用`expr index`命令来查找一个字符或字符串在另一个字符串中的位置。 ```bash ...
本文将详细介绍如何在Shell脚本中进行字符串和数字的比较,包括基本的比较操作符及其使用场景,并提供一些实际示例帮助理解。 #### 二、整数比较方法 在Shell脚本中,可以通过以下操作符进行整数的比较: 1. **-...
在Unix环境下进行字符串截取是一项常见的操作需求,尤其是在处理文本文件、日志分析等场景中。本文将详细介绍几种常用的字符串截取方法:`cut`命令、`sed`命令以及`expr`命令,并通过具体实例进行讲解。 #### 一、`...
在Shell脚本编程中,对字符串进行截取是常见的操作之一。通过对字符串的处理,可以实现各种数据解析、文件名提取等实用功能。本文将详细介绍几种常用的Shell中字符串截取方法及其应用场景。 ### 基础概念与应用场景...
你可以创建、赋值、修改和比较字符串,也可以使用`+`操作符进行连接。例如: ```cpp std::string str1 = "Hello"; std::string str2 = "World"; std::string str3 = str1 + " " + str2; // 结果为 "Hello World" ``...
quoting 是一种语法机制,用于将字符串括起来,以避免字符串被 shell 解释。escape character 则是一种特殊字符,用于转义其他字符。 第三章节是 shell 参数,讲解了 shell 的参数设置和使用方法。第四章节是 shell...
我们通过字符串操作将分隔符替换为空格,然后使用默认的IFS(Internal Field Separator)来分割字符串。在示例中,我们使用的是逗号作为分隔符: ```bash #!/bin/bash string="hello,shell,haha" array=(${string//...
另外,有两个特殊的测试操作符用于检查字符串的长度: - `-z`:如果字符串长度为0(即“null”),则返回真。 - `-n`:如果字符串长度不为0,即字符串不为空,返回真。 在使用`-z`或`-n`时,推荐总是将变量用双引号...
使用`expr match`或字符串操作符`:`可以进行模式匹配,并获取匹配的内容。例如: ```bash expr match $string '\([a-c]*[0-9]*\)' # abc12342341 expr $string : '\([a-c]*[0-9]\)' # abc1 expr $string : '.*\...
在Shell脚本编程中,字符串比较是常见的操作。本文将详细阐述如何在Shell中...通过理解这些概念和操作符,可以更有效地编写处理字符串的Shell脚本。在实际应用中,应根据具体需求选择合适的方法进行字符串比较和处理。
#### 二、字符串操作符 Bash支持丰富的字符串操作,包括但不限于: - **获取长度**:`${#str}` 获取变量`str`的长度。 - **子串提取**: - `${str:pos}` 从位置`pos`开始提取字符串`str`的一个子串。 - `${str:...
在IT领域,shell script是一...总的来说,字符串比较脚本在IT工作中是一个非常实用的技能,它涉及到文本处理、文件操作、流程控制等多方面的知识。熟练掌握这些技巧,能够帮助我们更高效地处理大量数据,提高工作效率。
参数扩展是另一种处理字符串的方法,它允许脚本编写者在不调用外部程序的情况下进行复杂的字符串操作。 通过阅读这本书,读者不仅可以掌握Bash脚本的基础知识,还可以了解到高级技巧和优化方法。书中丰富的实例和...