Shell脚本使用sed命令时遇到变量的一些解决方案

关于SED命令我就不多说了,下面奉上我的例子

在写脚本配置YUM源的时候,总是以多多益善的想法为主,所以这时候就需要制定一个模版了,下面奉上我的Centos7源的模版

[base]
name=CentOS-$releasever - Base - URLS
failovermethod=priority
baseurl=URLS/centos/$releasever/os/$basearch/
        URLS/centos/$releasever/os/$basearch/
        URLS/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=URLS/centos/RPM-GPG-KEY-CentOS-7
 
#released updates 
[updates]
name=CentOS-$releasever - Updates - URLS
failovermethod=priority
baseurl=URLS/centos/$releasever/updates/$basearch/
        URLS/centos/$releasever/updates/$basearch/
        URLS/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=URLS/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - URLS
failovermethod=priority
baseurl=URLS/centos/$releasever/extras/$basearch/
        URLS/centos/$releasever/extras/$basearch/
        URLS/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=URLS/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - URLS
failovermethod=priority
baseurl=URLS/centos/$releasever/centosplus/$basearch/
        URLS/centos/$releasever/centosplus/$basearch/
        URLS/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=URLS/centos/RPM-GPG-KEY-CentOS-7
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - URLS
failovermethod=priority
baseurl=URLS/centos/$releasever/contrib/$basearch/
        URLS/centos/$releasever/contrib/$basearch/
        URLS/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=URLS/centos/RPM-GPG-KEY-CentOS-7
Centos7源模版

在这个模版中,URLS属于我预设的镜像URL可替换变量名,所以我的思路就是只需要将这个变量名替换成一个可用的URL地址即可使用该源,但是这时候谁也不知道要将这个URLS替换成什么

所以这时候就需要使用变量来解决了,一开始的想法是将不确定的URL赋值到变量U里面,然后执行下面的指令

sed "s/URLS/$U/g" dome.repo

 然后提示错误了,于是我查了一下资料,得知这个SED指令可以自定义分隔符,因为   在shell中是有特殊的含义的,所以这时候只需要把这个符号换成其他的即可,比如#

 这时候就神奇的成功了,然后试一下&

 结果可见,涉及变量的时候只需要把斜杠换成其他符号即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坐公交也用券

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值