假设: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. mysql 基础练习题(一)

    一.先创建几个要用的库表 create database zuoye; -- 创建数据库 use zuoye; -- 使用数据库 #创建几个库表 create table Student -- 学生表 ...

  2. 小记--------maxwell启动失败解决

    查看报错日志信息: com.github.shyiko.mysql.binlog.network.ServerException: Could not find first log file name ...

  3. HDU1285(拓扑排序裸题

    ..被多组测试坑了一波 #include<iostream> #include<vector> #include<queue> using namespace st ...

  4. django初步了解2

    目录 django初步了解2 表的字段增删改查 数据的增删改查 反向解析和分组 路由分发 名称空间 伪静态 虚拟环境 django初步了解2 表的字段增删改查 新增的字段 1.直接提供默认值 defa ...

  5. 查询集 QuerySet

    1 概念 Django的ORM中存在查询集的概念. 查询集,也称查询结果集.QuerySet,表示从数据库中获取的对象集合. 当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表): a ...

  6. java中的接口和php的接口的区别

    php: 规范: 接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量. 在接口中的抽象方法只能是public的,默认也是public权限. abstract和final修饰符也不能修饰接口中 ...

  7. c#获取桌面路径和bin文件的路径

    string path = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory): 生成的运行bin文件下的路径: ...

  8. 【Git的基本操作七】创建远程库、在本地创建远程库别名

    1. 创建远程库

  9. latex公式居中环境

    一般能够用到的环境是 \begin{equation} \begin{aligned} ... \end{aligned} \end{equation} 然而,这种环境用&只能够保证左对齐或者 ...

  10. VS code自定义语法高亮

    语法高亮向导(Syntax Highlight Guide) (https://code.visualstudio.com/api/language-extensions/syntax-highlig ...