zoukankan      html  css  js  c++  java
  • ${filename}用法二:

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


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

    ${filename:0:5}:提取最左边的5个字节:/dir1
    
    ${filename:5:5}:提取第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。(非空值时不作处理)
  • 相关阅读:
    BSON与JSON的区别
    Zookeeper --分布式应用程序协调服务
    Stream Big Data : Storm, Spark and Samza
    Java Virtual Machine
    day1 计算机基础
    畅通工程(kruskal算法)
    The Suspects (并查集)
    The Sum of 0 for four numbers(拆解加二分思想)
    Rebranding(字母代换)
    最长公共子序列和最长公共子串
  • 原文地址:https://www.cnblogs.com/wqbin/p/11597731.html
Copyright © 2011-2022 走看看