bash变量内容的删除、替换


删除
(1)定义一个变量 path=${PATH} , 将环境变量PATH的值赋给自定义变量path , echo path可以输出该值
bash变量内容的删除 - DAWN - DAWN
 (2)现在要将该值的前两个目录删除(即/usr/local/sbin:/usr/local/bin:)   输入命令 echo ${path#/*local/bin:}
bash变量内容的删除 - DAWN - DAWN

命令解释:
命令原型 ${variable#content}
【1】 variable进行删除的变量        在例子中就是path
【2】 # 代表从变量前面开始删除,并且只删除最短的一个
【3】 content表示要删除的内容      在例子中就是/*local/bin:
【4】 * 代表通配符
当执行(2)中的命令时, / * local/bin匹配到的是/usr/local/sbin:/usr/local/bin:   ,  usr/local/sbin:/usr/是通过通配符*匹配到的 , 因此/*local/bin = / + usr/local/sbin:/usr/ + local/bin = /usr/local/sbin:/usr/local/bin:

(3)删除前面所有目录,保存最后一个目录    输入命令 echo #{path#/*:}
bash变量内容的删除 - DAWN - DAWN
【1】 ##代表从变量的前面开始删除,并且只删除最长的一个

(4)从后往前删除
bash变量内容的删除 - DAWN - DAWN
命令解释:
命令原型 ${variable%content}
【1】 variable进行删除的变量        在例子中就是path
【2】 % 代表从变量前面开始删除,并且只删除最短的一个
【3】 content表示要删除的内容      在例子中就是games*games
【4】 * 代表通配符
【5】删除的内容要从后往前看,games*games应该先看后面的games再看*,接着看开头games , 该语句匹配的就是 games:/usr/loal/games
【6】 %%代表从变量的后面开始删除,并且只删除最长的一个

替换
(1)大写替换小写
bash变量内容的删除、替换 - DAWN - CGYDAWN
命令解释:
命令原型 ${variable/content/replace}
【1】variable进行删除的变量        在例子中就是path
【2】/是替换关键字,//内是被替换的内容
【3】content表示要删除的内容      在例子中就是mail
【4】repalce表示替换的内容           在例子中就是MAIL
【5】//代表从替换所有符合规定的内容
bash变量内容的删除、替换 - DAWN - CGYDAWN


测试与内容替换
bash变量内容的删除、替换 - DAWN - CGYDAWN
  当想测试一个变量是否存在时,可以直接echo这个变量,若是该变量不存在或者为空字符的时候,往往像图中前三行一样,第三行为空行,这时候可以使用减号“-”来判断该变量是不存在还是为空字符,如果是空字符,再次echo仍然得到空行若不是空字符而是不存在,则像10~12行所示,被减号“-”后的字符所替代 ,若是一个未知变量,而且该变量可能为空值若是空值则替换,不是则不替换的要求,则可以使用${variable:-content}这种格式来为该变量赋值。
命令解释:
(1)variable后有一个冒号“:”,当variable不为空而为空字符时,该冒号则表示将content值给variable这个变量;若不是空字符也不为空,则维持该未知变量的原值不会将content值赋给variable这个变量。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值