Linux ${}表达式详解
参数替换
等价替换
${var_name} 等价于 $var_name
var:-default 和 var-default
$(var:-default) 当var为空或未定义时整个表达式的值为default $(var-default) 当且仅当var未定义时整个表达式的值为default
var:=default 和 var=default
$(var:=default) 当var为空或未定义时整个表达式的值为default,并且将var的值设置为default $(var=default) 当且仅当var未定义时整个表达式的值为default,并且将var的值设置为default
var:?default 和 var?message
$(var:?message) 当var为空或未定义时,打印错误信息,信息内容为message表示的值 $(var?message) 当且仅当var未定义时,打印错误信息,信息内容为message表示的值
var:+default 和 var+default
$(var:+default) 当var已定义且不为空时整个表达式的值为default $(var+default) 当var已定义时整个表达式的值为default(不管var是否是空)
字符串截取
- ${str:offest} 从下标offset(含)开始截取到末尾的子串
- ${str:offest:length} 从下表offset(含)开始向后截取长度为length的子串,长度超出不报错
- ${str:offest:index} 此处的index为负数,最后一个字符为-1,依次往前为-2,-3。此表达式截取offset(含)到index(不含)之间的子串,当index表示的位置在offset左边时会报错
变量匹配
${!prefix*}、${!prefix@} 将带有前缀为prefix的变量名打印出来
数组操作
1.${!name[@]}、${!name[*]} 将数组name的所有下标返回,如果变量name不是数组则返回0,不存在则空
2.${name[@]}、${name[*]}将数组name的所有元素返回,如果变量name不是数组则返回name的值,不存在则空
3.${name[index]} 将数组name的index处的元素返回,如果变量name不是数组且index为0时返回name的值,变量或索引index处的元素不存在则返回空
正则匹配替换
1、${parameter#word}、${parameter##word}从头开始扫描word,将匹配word正则表达的字符过滤掉#为最短匹配,##为最长匹配
2、${parameter%word}、${parameter%%word}从尾开始扫描word,将匹配word正则表达式的字符过滤掉%为最短匹配,%%为最长匹配
3、${parameter/pattern/string}、${parameter//pattern/string}/表示只替换一次
//表示全部替换
Linux ${}表达式详解相关推荐
- java拉姆达表达式事例,Java Lambda表达式详解和实例
简介 Lambda表达式是Java SE 8中一个重要的新特性.lambda表达式允许你通过表达式来代替功能接口. lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体( ...
- java lambda表达式详解_Java8新特性Lambda表达式详解
课程目标: 通过本课程的学习,详细掌握Java8新特性之Lambda表达式: 适用人群:有Java基础的开发人员: 课程概述:从Java 8出现以来lambda是最重要的特性之一,它可以让我们用简洁流 ...
- cron表达式详解 Elastic-Job名次解释
#1.cron:cron表达式,用于配置作业触发时间 #2.shardingTotalCount:作业分片总数 #3.shardingItemParameters:分片序列号和参数用等号分隔,多个键值 ...
- SpringBoot使用AOP,PointCut表达式详解以及使用
SpringBoot使用AOP,PointCut表达式详解以及使用 1.相关注解 2.PointCut 表达式详解 2.1 execution: 2.1 within: 2.3. this: 2.4. ...
- pyzabbix 删除触发器_zabbix设置邮件报警, Zabbix常用Key值, zabbix触发器表达式详解, zabbix制作自己模板...
zabbix设置邮件报警 方法一:说明此方法,会产生中文乱码问题 第一步:首先安装mailx组件并配置好能够通过三方邮箱发送邮件 yum -y install mailx 然后编辑mailx的配置文件 ...
- Spring定时器corn表达式详解
1.结构 Spring定时器corn表达式详解 2.各字段的含义 字段 允许值 允许的特殊字符 秒 0~59 - * / 分 0~59 - * / 小时 0~23 - * / 日期 1~31 - * ...
- Cron表达式详解和表达式的验证
Cron表达式详解和表达式的验证 本篇不算原创,因为主要内容来自网上的博客,所以给出我参考文章的链接. 本文cron表达式详解的大部分内容参考了[cron表达式详解]和Quartz使用总结.Cron表 ...
- Quartz学习之Cron表达式详解
Quartz学习之Cron表达式详解 一.cron表达式结构 **二.各字段的含义** 解释: 注意要点: 三.示例 一.cron表达式结构 cron表达式从左到右(用空格隔开):**秒 分 小时 月 ...
- SpringBoot的AOP中PointCut表达式详解以及使用
首先,在pom.xml中添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifa ...
- Java8 Lambda表达式详解手册及实例
先贩卖一下焦虑,Java8发于2014年3月18日,距离现在已经快6年了,如果你对Java8的新特性还没有应用,甚至还一无所知,那你真得关注公众号"程序新视界",好好系列的学习一下 ...
最新文章
- Python数据处理篇之Matplotlib系列(六)---plt.hist()与plt.hist参数详解
- 脚本大全_抖音文案大全2020励志:抖音最火励志搞笑句子,直接套用上热门
- STM32L0系列串口重定义的方法
- hdu3068 . 最长回文
- python3环境下用matplotlib库实现UI交互
- 研发协同平台持续集成2.0架构演进
- php return 变量,php内核笔记–函数返回变量return_value
- 【渝粤题库】陕西师范大学210004幼儿园美术教育作业(高起专)
- 从头学习DirectDraw
- idea如何安装scala插件
- Singularity将本地SIF文件,转成sandbox
- python改变背景颜色_python中绘图时怎么改背景颜色?
- 到底是什么决定了路由器的信号强弱和穿墙能力?
- 题解 SP4487 【GSS6 - Can you answer these queries VI】
- 解决萤石云sdk语音对讲功能(实现)
- 手机发布新闻php,自动发布新闻的php代码_php
- 找出相似的图片--C#
- 【Vue知识点- No8.】网易云音乐案例(vant组件库的使用)
- 哈佛商业评论:关于区块链的真相
- python_path