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。(非空值时不作处理)
  • 相关阅读:
    PAT 甲级 1027 Colors in Mars
    PAT 甲级 1026 Table Tennis(模拟)
    PAT 甲级 1025 PAT Ranking
    PAT 甲级 1024 Palindromic Number
    PAT 甲级 1023 Have Fun with Numbers
    PAT 甲级 1021 Deepest Root (并查集,树的遍历)
    Java实现 蓝桥杯VIP 算法训练 无权最长链
    Java实现 蓝桥杯VIP 算法训练 无权最长链
    Java实现 蓝桥杯 算法提高 抽卡游戏
    Java实现 蓝桥杯 算法提高 抽卡游戏
  • 原文地址:https://www.cnblogs.com/wqbin/p/11597731.html
Copyright © 2011-2022 走看看