博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一个shell脚本——修改配置文件
阅读量:4326 次
发布时间:2019-06-06

本文共 1309 字,大约阅读时间需要 4 分钟。

    有需求,可以让自己偷懒才是学习的真正动力。由于测试环境在构建代码之后总是需要手动修改配置文件,因此边学习边完成了一个shell脚本,可以一键修改。

    定义了一个函数,输出信息以绿色字体显示。

function echo_green {        echo -e "\033[32m$1\033[0m"}

    输出提示信息

echo_green "是否一键修改xxx?(y/n)"

   读取键盘输入

read answer

  要修改的配置文件有两类:一类是明确清楚应该修改哪些字符串,直接用替换字符串的方式,假如是/home/db.conf.php。另一类是对自己不熟悉的配置文件,修改一次之后直接保存该文件,每次构建代码后用修改的文件去覆盖,假如是/home/hosts。这种方式并不推荐,当该文件有新的改动时可能因被覆盖而无法生效,造成不必要的麻烦。

   先判断输入,输入为y时进行修改

if [ "$answer" == "y" ]; then

   1、修改字符串

sed -i "s/被替换的字符串/替换成的字符串/g" /home/db.conf.phpecho_green "db.conf.php已修改"

    tips:

    ①sed -i:sed命令加了 -i才会对原文件直接进行操作

    ②/g 是全部替代,否则只替代每行的第一个。

   2、替换文件

    假如我们将已经修改好的文件放于/home/ready/hosts

    覆盖后需要修改文件属性以及文件拥有者及所属用户组

cp /home/ready/hosts /home/hostssudo chmod 755 /home/hostssudo chown deploy:deploy /home/hostsecho_green "hosts已修改"

    全部修改完成后,输出提示信息

echo_green "已全部修改"

    如果键盘输入信息不是y,则输出提示信息,退出

elseecho_green "拜拜了您那"exitfi

    完整代码

function echo_green {        echo -e "\033[32m$1\033[0m"}echo_green "是否一键修改db.conf.php、hosts?(y/n)"read answerif [ "$answer" == "y" ]; then    sed -i "s/被替换的字符串/替换成的字符串/g" /home/db.conf.php    echo_green "db.conf.php已修改"        cp /home/ready/hosts /home/hosts    sudo chmod 755 /home/hosts    sudo chown deploy:deploy /home/hosts    echo_green "hosts已修改"        echo_green "已全部修改"    else    echo_green "拜拜了您那"    exitfi

 

 

转载于:https://www.cnblogs.com/jinglangyan/p/7505268.html

你可能感兴趣的文章
vue-cli3创建项目时报错
查看>>
输入1-53周,输出1-53周的开始时间和结束时间
查看>>
实验二
查看>>
shell——按指定列排序
查看>>
crash 收集
查看>>
507 LOJ 「LibreOJ NOI Round #1」接竹竿
查看>>
UI基础--烟花动画
查看>>
2018. 2.4 Java中集合嵌套集合的练习
查看>>
精通ASP.NET Web程序测试
查看>>
vue 根据不同属性 设置背景
查看>>
51Nod1601 完全图的最小生成树计数 Trie Prufer编码
查看>>
Codeforces 1110D. Jongmah 动态规划
查看>>
android驱动在win10系统上安装的心酸历程
查看>>
优雅的程序员
查看>>
oracle之三 自动任务调度
查看>>
Android dex分包方案
查看>>
ThreadLocal为什么要用WeakReference
查看>>
删除本地文件
查看>>
FOC实现概述
查看>>
base64编码的图片字节流存入html页面中的显示
查看>>