Shell变量

变量替换之删除指定字符串

语法作用

${var#pattern} 将 $var 的值从左侧删除与模式 pattern 匹配的最短字符串并返回。
${var##pattern} 将 $var 的值从左侧删除与模式 pattern 匹配的最长字符串并返回。
${var%pattern} 将 $var 的值从右侧删除与模式 pattern 匹配的最短字符串并返回。
${var%%pattern} 将 $var 的值从右侧删除与模式 pattern 匹配的最长字符串并返回。

小技巧:
#表示左侧; % 表示右侧。
一个 # 或 % 表示最短;两个 # 或 % 表示最长。

 

 

变量值之替换

语法作用

${var/pattern/replace} 将 $var 的值中第一个与模式 pattern 匹配的串替换为 replace 并返回。
${var/pattern} 将 $var 的值中第一个与模式 pattern 匹配的串删除并返回。
${var//pattern/replace} 将 $var 的值中所有与模式 pattern 匹配的串替换为 replace* 并返回。
${var/#pattern/replace} 将 $var 的值开头与模式 pattern 匹配的串替换为 replace 并返回。
${var/%pattern/replace}

将 $var 的值结尾与模式 pattern 匹配的串替换为 replace 并返回。

 


 

 

 

 

 

 

 

有类型变量

 declare和typeset两者等价,都是用来定义变量类型

参数 含义
-r 将变量设置为只读
-i 将变量设置为整数
-a 将变量定义为数组
-f 显示此脚本前定义过的所有函数和内容
-F 显示此脚本定义过的函数名
-x 将变量声明为环境变量

 

posted @ 2023-01-30 17:16  弗拉宾教头  阅读(19)  评论(0编辑  收藏  举报