shell内置字符串替换
shell变量赋值语法:
使用规则 解释
单引号 所见即所得,即输出时会将单引号内的所有內容都原样输出,或者描述为单引号里面看到的是什么就会输出什么,这称为强引用
双引号 (默认) 输出双引号内的所有内容;如果内容中有命令(要反引下)、变量、特殊转义符等,会先把变量、命令、转义字符解析出结果,然后再输出最终内容,推荐使用,这称为弱引用
无引号 赋值时,如果变量内容中有空格,则会造成赋值不完整。而在输出内容时,会将含有空格的字符串视为一个整体来输出;如果内容中有命令(要反引下)、变量等,则会先把变量、命令解析出结果,然后输出最终内容;如果字符串中带有空格等特殊字符,则有可能无法完整地输出,因此需要双引号替代无引号的情况,特别是对变量赋值时改加双引号。一般连续的字符串、数字、路径等可以不加任何引号进行赋值和输输出,不过最好是用用
反引号 一般用于引用命令,执行的时候命令会被执行,相当于S0,赋值和输出都要用“将命令引起来
引用:shell中定义变量用双引号和单引号以及不用引号的区别
无引号使用举例:
无引号赋值,含有空格:
将world解释为变量
无引号赋值,变量中含有空格:
正常输出:
无引号使用总结:
赋值时,不要插入空格等特殊字符。
shell内置字符串语法:
在编写shell程序时,经常会涉及到字符串相关操作。有许多命令语句,如awk,sed都能够做字符串各种操作。 事实上shell内置一系列操作符号,能够达到相似效果,使用内部操作符会省略启动外部程序等时间,因此速度会很的快。如果内置的操作符能够做到的,优先使用内置的。
引用:shell字符串内置的常用操作
1 读取字符串值
表达式 含义
${var} 变量var本来的值
${var-default} var没声明返回default,但不改变var的值
${var:-default} var没声明或其值为空返回default,但不改变var的值
${var=default} var没有声明返回default,并将var的值设置为default
${var:=default} var没声明或其值为空返回default,并将var的值设置为default
${var+other} var被声明返回other,但不改变var的值
${var:+other} var被声明且不为空返回other,但不改变var的值
${var?err_msg} var没有被声明,将消息err_msg送到标准错误输出
${var:?err_msg} var没声明或者为空,将消息err_msg送到标准错误输出
${!varprefix*} 匹配之前全部以varprefix开头进行声明的变量
${!varprefix@} 匹配之前全部以varprefix开头进行声明的变量
2 字符串操作
表达式 含义
${#string} string的长度
${string:position} 在string中, 从位置position开始提取子串
${string:position:length} 在string中, 从位置position开始提取长度为$length的子串
${string#substring} 从变量string的开头, 删除最短匹配substring的子串
${string##substring} 从变量string的开头, 删除最长匹配substring的子串
${string%substring} 从变量string的结尾, 删除最短匹配substring的子串
${string%%substring} 从变量string的结尾, 删除最长匹配substring的子串
${string/substring/replacement} 使用replacement, 来取代第一个匹配的substring
${string//substring/replacement} 使用replacement, 取代全部匹配的substring
${string/#substring/replacement} 假设string的前缀匹配substring, 那么就用replacement来取代匹配到的substring
${string/%substring/replacement} 假设string的后缀匹配substring, 那么就用replacement来取代匹配到的substring
说明:"substring”可以为正则表达式
shell内置字符串举例 :
1.字符串替换
${string/substring/replacement}
string是一个shell变量(${}规则)
shell内置字符串替换的更多相关文章
- bash的内置字符串处理工具
bash内置字符串处理工具: 1.字符串切片: ${var:offset:number} 取字符串的子串: ${var: -length} 取字符串的最右侧的length个字符.注意:冒号右侧必须有 ...
- Shell内置命令
主要Shell内置命令 Shell有很多内置在其源代码中的命令.这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快.不同的Shell内置命令有所不同. A.2.1 bash内置命 ...
- Python 的内置字符串方法(收藏专用)
Python 的内置字符串方法(收藏专用) method 字符串 string python3.x python 4.7k 次阅读 · 读完需要 44 分钟 5 字符串处理是非常常用的技能,但 ...
- thinkPHP内置字符串截取msubstr函数用法详解
作者:陈达辉 字体:[增加 减小] 类型:转载 时间:2016-11-15 我要评论 这篇文章主要介绍了thinkPHP内置字符串截取函数用法,结合实例形式分析了thinkPHP内置的字符串截取函数功 ...
- linux 获取shell内置命令帮助信息 help xx
shell,命令解释器 shell内置命令有cd/umask/pwd等 help shell内置命令适用于所有用户获取shell内置命令的帮助信息help umaskhelp if
- linux中shell内置命令和外置命令
shell内置命令 无法通过which或者whereis去查找命令的位置 例如cd,cp这些命令是shell解释器内置的命令 当shell内置命令传入shell解释器,shell解释器通过内核获取相关 ...
- 6 shell内置命令
知识点1:什么是shell内建命令? Shell 内建命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件. 内建命令与普通命令的性质是不一样的,内建命令并不是某个外部文件,只要在 ...
- linux shell内置判断
内置判断,成功的时候返回0,不成功返回非零 test 判断表达式 [ 判断表达式 ] 注意前后必须留空格哦 数值运算 -eq 等于 -ne 不等于 -gt 大于 -ge ...
- python内置字符串操作方法
1.capitalize() S.capitalize()->string 首字母大写,其余字母小写. str='A222aaA' str.capitalize()#首字母大写,其余字母小写. ...
- Shell 内置操作符-字符串处理(汇总)
一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-D ...
随机推荐
- Makefile优化编译速度
并行编译:使用 make -j 命令来进行并行编译,可以加快编译速度.-j 后面可以跟一个数字,表示并行编译的线程数. 懒惰计算:使用 .PHONY 规则来避免无谓的重新编译.该规则告诉 make,这 ...
- torch.max()使用讲解
output = torch.max(input, dim) input输入的是一个tensor dim是max函数索引的维度0/1,0是每列的最大值,1是每行的最大值 实例: import torc ...
- wpf之样式
在Window.Resources中书写样式 : <Window.Resources> <Style TargetType="Button" > </ ...
- ES5 和 ES6 的区别,说几个 ES6 的新增方法
ECMAscript5.,即ES5 ,表示 ECMAscript的第五次修订-2009 : ECMAscript6.,即ES6 ,表示 ECMAscript的第六次修订-2015 : ES6 是对于 ...
- 在 Vue 实例中编写生命周期hook 或者其它 option/propertie 时,为什么不适用箭头函数 ?
首先,箭头函数没有自己的 this 环境变量 会沿用作用域使用父级this : 由Vue 管理的函数 ,如果写成箭头函数 this 就不在是 Vue 实例 了 :
- Linux+Nginx+Php+MariaDB+Redis部署
目录 工作机制 系统环境描述 部署Nginx 安装 启动 测试并访问 部署PHP 安装 启动 配置Nginx 测试 部署MariaDB 安装 启动 配置php支持 测试 部署Redis 安装 启动 配 ...
- C++ mutable与常对象语义详解
摘编自 <Effective C++> 条款三. "成员函数如果是const" 或者 "一个对象是const对象"到底意味什么?有两个流行概念:bi ...
- html页面实现回车跳转下一文本框
window.onload = function () { //阻止按回车按钮后提交表单的问题 document.getElementsByTagName("form")[0].o ...
- Luatools新手必看:从下载开始的保姆级教程!
作为由合宙所提供的调试工具,Luatools支持最新固件获取.固件打包.trace打印.单机烧录等功能 此工具适用于合宙所有 4G 模组和 4G + GNSS 模组. 一.下载和安装 (一)运行环 ...
- Flink CDC 实时同步 MySQL
Flink CDC 系列文章 Flink CDC 实时同步 MySQL Flink CDC 实时同步 Oracle 准备工作 MySQL 数据库(version: 5.7.25),注意,MySQL 数 ...