假设:filename=/dir1/dir2/dir3/my.filename.txt

1.单一符号是最小匹配﹔两个符号是最大匹配。

${filename::}:提取最左边的5个字节:/dir1

${filename::}:提取第5个字节右边的连续5个字节:/dir2

note:

${#var}可计算出变量值的长度:

${#filename}可得到27,因为/dir1/dir2/dir3/my.filename.txt刚好是31个字节

2.对变量值里的字串作替换:

${filename/dir/path}:将第一个dir提换为path:/path1/dir2/dir3/my.filename.txt

${filename//dir/path}:将全部dir提换为path:/path1/path2/path3/my.filename.txt

3.利用${ }还可针对不同的变数状态赋值(没设定、空值、非空值):

${filename-my.filename.txt}:假如$filename没有设定,则使用my.filename.txt作传回值。(空值及非空值时不作处理)

${filename:-my.filename.txt}:假如$filename没有设定或为空值,则使用my.filename.txt作传回值。(非空值时不作处理)

${filename+my.filename.txt}:假如$filename设为空值或非空值,均使用my.filename.txt作传回值。(没设定时不作处理)

${filename:+my.filename.txt}:若$filename为非空值,则使用my.filename.txt作传回值。(没设定及空值时不作处理)

${filename=my.filename.txt}:若$filename没设定,则使用my.filename.txt作传回值,同时将$filename赋值为my.filename.txt。(空值及非空值时不作处理)

${filename:=my.filename.txt}:若$filename没设定或为空值,则使用my.filename.txt作传回值,同时将$filename赋值为my.filename.txt。(非空值时不作处理)

${filename?my.filename.txt}:若$filename没设定,则将my.filename.txt输出至STDERR。(空值及非空值时不作处理)

${filename:?my.filename.txt}:若$filename没设定或为空值,则将my.filename.txt输出至STDERR。(非空值时不作处理)

随机推荐

  1. Linux文件属性之时间戳及文件名知识详解

    ls  -lhi 7.8.9三列是时间(默认是修改时间) modify    修改时间 -----mtime     一般是修改文件内容 change   改变时间----ctime      文件的 ...

  2. C语言Ⅰ博客作业07

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9933 我在这个课程的目 ...

  3. 【Python】【demo实验6】【练习实例】【奖金发放计算(阶梯)】

    题目: 企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%:20万到40万 ...

  4. day03-04

    光驱 历史的东西 远程管理卡 ​ 它的作用是通过网络远程(异地)开关服务器,并可以查看服务器开关的过程等信息,早期(2010年以前),服务器托管在IDC机房,出问题,还得跑机房或者请机房的人管理,有了 ...

  5. 04 Go语言之包

    1.为什么有包这个概念? 1)开发中,往往要在不同的文件中调用其他文件的函数 2)Go代码最小粒度单位是”包” 3)go的每一个文件都属于一个包,通过package管理 4)go以包的形式管理文件和项 ...

  6. 使用svn遇到的问题---(在编辑器没有配置svn的前提下)

    日常写代码的过程中新增了文件,一般都是继续文件的书写,写完一部分后提交 新增文件后面经常忘记了add后commit 原来是可以在commit时勾选左下角的 [show unversioned file ...

  7. Databus&canal对比

    Databus和canal都能够提供实时从数据库获取变更,并提供给下游的实时消费流的功能. 本文针对两个系统实现和应用上的不同点,做了一个简单的对比: 对比项 Databus canal 结论 支持的 ...

  8. 从零开始实现asp.net MVC4框架网站的用户登录以及权限验证模块 详细教程

    从零开始实现asp.net MVC4框架网站的用户登录以及权限验证模块 详细教程   用户登录与权限验证是网站不可缺少的一部分功能,asp.net MVC4框架内置了用于实现该功能的类库,只需要简单搭 ...

  9. Python学习记录1-基础知识

    基础知识 基础 #简单记录了部分基础知识 #普通的打印字符串 >>> print("hello world") hello world ------------- ...

  10. 如何解决Win10电脑网速慢的问题?

    很多Win10系统用户反映自己的电脑配置并不算低,却比有些旧电脑上网速度还要慢,不知道是什么原因. 其实,除了运营商网速的原因外,我们的电脑设置也会对网速有所影响.下面好系统U盘启动就来介绍一个Win ...