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。(非空值时不作处理)
  • 相关阅读:
    QT -- 文本文件的读写(QFile、QTextStream)
    QT -- 单例模式
    QT -- 代码封装成库给C调用的问题
    QSS -- QSS入门1
    什么是 GPU 加速?
    QT -- 文件操作 QFile
    C++ -- break和continue的区别
    C++ -- Switch的基本用法
    C++ -- ?:运算符
    OpenCV -- cv::IMREAD_GRAYSCALE 与 cv::cvtColor
  • 原文地址:https://www.cnblogs.com/wqbin/p/11597731.html
Copyright © 2011-2022 走看看