${filename}用法二:
假设: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.抽象类 抽象类的定义格式 abstract class抽象类名称{ 属性; 访问权限返回值类型方法名称(参数){ //普通方法 [return返回值]; } 访问权 ...
- 17.Azkaban实战
首先创建一个command.job文件 #command.job type=command command=echo it18zhang 然后打成zip压缩包 上传刚刚打包的zip包 上传完后可以执行 ...
- [转帖]什么是BSS/OSS,及区别和联系
什么是BSS/OSS,及区别和联系 https://blog.csdn.net/jionghan3855/article/details/3856873 BSS:Business support sy ...
- 【LOJ】#3085. 「GXOI / GZOI2019」特技飞行
LOJ#3085. 「GXOI / GZOI2019」特技飞行 这显然是两道题,求\(C\)是一个曼哈顿转切比雪夫后的线段树扫描线 求\(AB\),对向交换最大化和擦身而过最大化一定分别为最大值和最小 ...
- 栈与队列基本操作 Java实现
一.顺序栈 //数组实现顺序栈 public class OrderStack { private String[] elem; private int top; OrderStack(int k) ...
- MySQL-复杂查询及条件-起别名-多表查询-04
目录 基本查询语句及方法 测试数据创建 创建数据库与表 插入表记录数据 数据展示 常见结果排版 另一种结果排版 \G 简单查询语句的书写与执行顺序 查询语句书写 执行顺序 科普-- 起别名 写法 可以 ...
- 安装consul
概述consul是google开源的一个使用go语言开发的服务发现.配置管理中心服务.内置了服务注册与发现框架.分布一致性协议实现.健康检查.Key/Value存储.多数据中心方要依赖其他工具(比如Z ...
- Dev-C++的一些使用技巧快捷键
最近开始用Dev-C++在Window下编程,感觉Dec-C++是一款挺不错的C++编译器.下载地址http://www.duote.com/soft/9830.html .现总结一些使用技巧: 1. ...
- work mark
<detection name="tracking" open="1" shape="rect" rect="(608,16 ...
- java实现spark常用算子之SortByKey
import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spa ...