(2.6)Linux Shell脚本的自动化编程之变量内容的删除,替换,替代

本文主要是介绍(2.6)Linux Shell脚本的自动化编程之变量内容的删除,替换,替代,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 1.变量内容的删除
    • 2.索引及切片
    • 3.变量内容的替换1
    • 4.变量内容的替换2

1.变量内容的删除

1)url=www.sina.com.cn
echo ${#url}   获取变量值的长度
15echo ${url}   标准查看
www.sina.com.cnecho ${url#*.}	从前往后,最短匹配
sina.com.cnecho ${url##*.} 从前往后,最长匹配,贪婪匹配
cn(2)url=www.sina.com.cn
echo ${url}
www.sina.com.cnecho ${url%.*}  从后往前,最短匹配
www.sina.comecho ${url%%.*} 从后往前,最长匹配,贪婪匹配
www(3)url=www.sina.com.cn
echo ${url#a.}
www.sina.com.cn  错误的结果echo ${url#*sina.}
com.cn

2.索引及切片

  • 利用索引进行切片
索引从0开始
url=www.sina.com.cn
echo ${url}   标准查看
www.sina.com.cnecho ${url:0:5}    从第0个取,取5个
www.secho ${url:5:5} 
ina.cecho ${url:5}  从第5个开始
ina.com.cn

3.变量内容的替换1

url=www.sina.com.cn
echo ${url}   标准查看
www.sina.com.cnecho ${url/sina/baidu}
www.baidu.com.cnecho ${url/n/N}
www.siNa.com.cnecho ${url//n/N}      //表示贪婪匹配
www.siNa.com.cN

4.变量内容的替换2

1-的意思:凡是变量有被定义过,就不能被替代
unset var1   删除变量var1的值
echo ${var1}
echo ${var1-aaa}
aaavar2=111
echo ${var1-bbb}
bbbvar3=
echo ${var3-ccc}${变量名-新的变量值}
变量没有被赋值:会使用“新的变量值”替换
变量有被赋值(包括空值):不会被替代(2:-表示:变量若是没有值或者是空值,就给你个值
unset var1
unset var2
unset var3var2=
var3=111
echo ${var1:-aaaa}
aaaa
echo ${var2:-aaaa}
aaaa
echo ${var3:-aaaa}
111${变量名:-新的变量值}
变量没有被赋值(包括空值):都会使用“新的变量值”替代
变量有被赋值:不会被替代(3)其它
echo ${var3+aaa}
echo ${var3:+aaa}echo ${var3=aaa}
echo ${var3:=aaa}echo ${var3?aaa}
echo ${var3:?aaa}

这篇关于(2.6)Linux Shell脚本的自动化编程之变量内容的删除,替换,替代的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1041469

相关文章

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm