美文网首页
变量测试与内容替换

变量测试与内容替换

作者: 平静_b99e | 来源:发表于2020-11-18 10:23 被阅读0次

    1. 变量测试与内容替换

    变量转换方式 变量y没有设置 变量y为空值 变量y设置值 分析
    x=${y-新值} x=新值 x为空 x=$y 如何y被设值则x=$y,否则x=新值
    x=${y:-新值} x=新值 x=新值 x=$y 如何y值不为空则x=$y,否则x=新值
    x=${y+新值} x为空 x=新值 x=新值 若y被设值则x=新值,否则x为空
    x=${y:+新值} x为空 x为空 x=新值 若y值不为空则x=新值,否则x为空
    x=${y=新值} x=新值,y=新值 x为空,y值不变 x=$y,y值不变 若y被设值则x=$y且y值不变,否则x=新值且y=新值
    x=${y:=新值} x=新值,y=新值 x=新值,y=新值 x=$y,y值不变 若y不为空则x=$y且y值不变,否则x=新值且y=新值
    x=${y?新值} 新值输出到标准错误输出(就是屏幕) x为空 x=$y 若y被设值则x=$y且y值不变,否则新值输出到标准错误输出(就是屏幕)
    x=${y:?新值} 新值输出到标准错误输出 新值输出到标准错误输出 x=$y 若y不为空则x=$y且y值不变,否则新值输出到标准错误输出(就是屏幕)

    2. 变量替换一

    符号 含义
    ${var} 变量,界定范围
    ${var:num} 返回var中第num个字符到末尾的所有字符,正从左往右,负从右往左,有空格:{var: -2},没有空格:{var:1-3}或${var:(-2)}
    ${var:num1:num2} 从var的第num1个位置开始,提取长度为num2的子串。num1是位置,num2是长度
    ${var::num1} 从var的开始位置,提取到num1位置的子串。(正数:从左开始,负数:从右侧开始)
    ${var/word1/word2} 将var中第一个匹配到的word1替换为word2
    ${var//word1/word2} 将var中所有word1替换为word2

    3. 变量替换二

    定义一个变量定义了一个变量file:

    file=/dir1/dir2/dir3/my.file.txt
    
    符号 含义
    ${file#*/} 删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
    ${file##*/} 删掉最后一个 / 及其左边的字符串:my.file.txt
    ${file#*.} 删掉第一个 . 及其左边的字符串:file.txt
    ${file##*.} 删掉最后一个 . 及其左边的字符串:txt
    ${file%/*} 删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
    ${file%%/*} 删掉第一个 / 及其右边的字符串:(空值)
    ${file%.*} 删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
    ${file%%.*} 删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my

    相关文章

      网友评论

          本文标题:变量测试与内容替换

          本文链接:https://www.haomeiwen.com/subject/uznxiktx.html