shell编程系列1--shell脚本中的变量替换
- shell编程系列1--shell脚本中的变量替换
- 变量替换总结:
- 、${变量#匹配规则} # 从头开始匹配,最短删除
- 、${变量##匹配规则} # 从头开始匹配,最长删除(贪婪模式)
- 、${变量%匹配规则} # 从尾开始匹配,最短删除
- 、${变量%%匹配规则} # 从尾开始匹配,最长删除(贪婪模式)
- 、${变量/旧字符串/新字符串} # 替换变量内的旧字符串为新字符串,只替换第一个
- 、${变量//旧字符串/新字符串} # 替换变量内的旧字符串为新字符串,全部替换
- variable_1="i love you,do you love me"
- 举例:
- [root@localhost ~]# variable_1="i love you,do you love me"
- [root@localhost ~]# echo $variable_1
- i love you,do you love me
- # 从头开始删除,只删除第一个ov及ov以前的字符串
- [root@localhost ~]# var1=${variable_1#*ov}
- [root@localhost ~]# echo $var1
- e you,do you love me
- # 从头开始删除,最长删除ov及ov以前的字符串
- [root@localhost ~]# var2=${variable_1##*ov}
- [root@localhost ~]# echo $var2
- e me
- # 从尾部删除最短匹配的ov及ov后面的字符串
- [root@localhost ~]# var3=${variable_1%ov*}
- [root@localhost ~]# echo $var3
- i love you,do you l
- # 从尾部删除最长匹配的ov及ov后面的字符串
- [root@localhost ~]# var4=${variable_1%%ov*}
- [root@localhost ~]# echo $var4
- i l
- # 替换第一个小写的bin为大写的BIN
- [root@localhost ~]# echo $PATH
- /usr/local/go/bin:/data/golang_project/bin:/usr/java/jdk1..0_181-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
- [root@localhost ~]# var5=${PATH/bin/BIN}
- [root@localhost ~]# echo $var5
- /usr/local/go/BIN:/data/golang_project/bin:/usr/java/jdk1..0_181-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
- # 替换所有小写的bin为大写的BIN
- [root@localhost ~]# var6=${PATH//bin/BIN}
- [root@localhost ~]# echo $var6
- /usr/local/go/BIN:/data/golang_project/BIN:/usr/java/jdk1..0_181-amd64/BIN:/usr/local/sBIN:/usr/local/BIN:/usr/sBIN:/usr/BIN:/root/BIN
shell编程系列1--shell脚本中的变量替换的更多相关文章
- shell编程系列26--大型脚本工具开发实战
shell编程系列26--大型脚本工具开发实战 大型脚本工具开发实战 拆分脚本功能,抽象函数 .function get_all_group 返回进程组列表字符串 .function get_all_ ...
- shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中
shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中 利用shell脚本将文本数据导入到mysql中 需求1:处理文本中的数据,将文本中的数据插入到mys ...
- shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计
shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计 shell中的数组的用法: shell数组中的下标是从0开始的 array=("Allen" & ...
- shell编程系列6--shell中的函数
shell编程系列6--shell中的函数 .函数介绍 linux shell中的函数和大多数编程语言中的函数一样 将相似的任务或者代码封装到函数中,供其他地方调用 语法格式 第一种格式 name() ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...
- shell编程系列19--文本处理三剑客之awk中的字符串函数
shell编程系列19--文本处理三剑客之awk中的字符串函数 字符串函数对照表(上) 函数名 解释 函数返回值 length(str) 计算字符串长度 整数长度值 index(str1,str2) ...
- shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句
shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动 ...
- shell编程系列17--文本处理三剑客之awk动作中的表达式用法
shell编程系列17--文本处理三剑客之awk动作中的表达式用法 awk动作表达式中的算数运算符 awk动作中的表达式用法总结: 运算符 含义 + 加 - 减 * 乘 / 除 % 模 ^或** 乘方 ...
- shell编程系列11--文本处理三剑客之sed利用sed删除文本中的内容
shell编程系列11--文本处理三剑客之sed利用sed删除文本中的内容 删除命令对照表 命令 含义 1d 删除第一行内容 ,10d 删除1行到10行的内容 ,+5d 删除10行到16行的内容 /p ...
随机推荐
- 云计算/云存储---Ceph和Openstack的cinder模块对接方法
1.创建存储池 在ceph节点中执行如下语句. #ceph osd pool create volumes 2.配置 OPENSTACK 的 CEPH 客户端 在ceph节点两次执行如下语句,两次{y ...
- 一种使用gitlab的CI/CD功能实现Nginx配置更新的方法
至于nginx的docker制作,前面已介绍过. 现在使用gitlab在线编辑的方式,可实现Nginx的自定义配置并更新. .gitlab-ci.yml内容如下: variables: project ...
- Eclipse的tab键为4个空格完整方法 附:阿里代码开发规范书
开发规范书:http://pan.baidu.com/s/1dESdyox 1.点击 window->preference-,依次选择 General->Editors->Text ...
- python的种类有哪些?
CPython 当我们从Python官方网站下载并安装好Python 3.6后,我们就直接获得了一个官方版本的解释器:CPython.这个解释器是用C语言开发的,所以叫CPython.在命令行下运行p ...
- LightOJ - 1299 - Fantasy Cricket(DP, 数学)
链接: https://vjudge.net/problem/LightOJ-1299 题意: 考虑成,U位置的点要往后放,D位置往前放 Dp[i][j]表示处于i位置,还有j个U没有放下. s[i] ...
- pycharm注册使用
先在PyCharm官网下载安装包 链接:https://www.jetbrains.com/pycharm/download/#section=linux 选择平台为Linux,可以看到当前版本为20 ...
- 任晓蕊 2019-2020-1 20199302《Linux内核原理与分析》第四周作业
实验内容 在实验楼的环境中敲入命令 cd LinuxKernel/ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img ...
- 015——C#软件出现《未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"》
(一)参考文献:https://zhidao.baidu.com/question/361243661437448812.html https://blog.csdn.net/yyx3214/arti ...
- 2019 icpc 徐州 解题报告
A.Cat 题库链接 给定区间[l,r],求一个最长子区间,使得区间异或和小于等于s,(结论)偶数和偶数后三个数的异或和等于0 #include <bits/stdc++.h> using ...
- learning java Runtime 类 获取内存及处理器核数信息
var rt = Runtime.getRuntime(); System.*)); System.*)); System.*)); System.out.println(rt.availablePr ...