JAVA替换shell模板内容_shell_变量内容删除、替换

鸟哥实例练习

变量设置方式

说明

${变量#关键字}

若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除

${变量##关键字}

若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除

${变量%关键字}

若变量内容从尾向前的数据符合“关键字”,则将符合的最短数据删除

${变量%%关键字}

若变量内容从尾向前的数据符合“关键字”,则将符合的最长数据删除

${变量/旧字符串/新字符串}

若变量内容符合“旧字符串”,则第一个旧字符串会被新字符串替换

${变量//旧字符串/新字符串}

若变量内容符合“旧字符串”,则全部的旧字符串会被新字符串替换

设置个变量用于练习

[root@piero ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@piero ~]# export path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"

[root@piero ~]# echo $path

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

删除:  #  ,##,%,%%,*     等配合echo  ${variable}

# echo ${path#/*sbin:}

/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

#代表内容变量的最前开始向右删除,由/开始,*表示通配符0到无穷个字符

# echo ${path#/*:}

/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

#最短匹配

# echo ${path##/*:}

/root/bin

##最长匹配

# echo $path

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

# echo ${path%/root/*}

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:

%从右往左匹配

echo ${path%/*/sbin*}

/usr/local/sbin:/usr/local/bin:

echo ${path%%/*/sbin*}

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo $MAIL

/var/spool/mail/root

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo ${MAIL#/*/}

spool/mail/root

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo ${MAIL%/*}

/var/spool/mail

替换:

# echo ${path/sbin/SBIN}

/usr/local/SBIN:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

# echo ${path//sbin/SBIN}

/usr/local/SBIN:/usr/local/bin:/usr/SBIN:/usr/bin:/root/bin

关于-

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# unset str;var=${str-newvar}

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}

var=newvar str=

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# str="oldvar";var=${str-newvar}

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}

var=oldvar str=oldvar

var的值取决于str是否存在,-并不影响旧变量的内容

关于+

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# unset str;var=${str+mewvar}

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}

var= str=

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# str=oldvar;var=${str+newvar}

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}

var=newvar str=oldvar

关于=

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# unset str;var=${str=newvar}

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}

var=newvar str=newvar

会替换旧变量的值

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# str=oldvar;var=${str=newvar}

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}

var=oldvar str=oldvar

变量测试

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# str="oldvar";var=${str?test}

[root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}

var=oldvar str=oldvar

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值