轩轩写的这个小脚本,主要是可以进行对dhcp服务的安装、简单配置、开启、关闭/查看状态等情况

使用呢非常简单,按照步骤进行准确的设置就可以啦

#!/bin/bash
yum -y install dhcp
fun() 
{
  input=""
  output=$1
  while [ -z $input ]
        do
        read -p "$output:" input
        done
        echo $input
}
subnet=$( fun "请输入网络地址")
netmask=$( fun "请输入子网掩码")
range1=$( fun "请输入选取IP地址范围起始地址")
range2=$( fun "请输入选区IP地址范围结束地址")
gateway=$( fun "请输入网关")
echo "subnet $subnet netmask $netmask {
  range $range1 $range2;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  option routers $gateway;
  default-lease-time 600;
  max-lease-time 7200;
}
" > dhcpd.conf
mv -f dhcpd.conf /etc/dhcp/
echo '#!/bin/bash
read -p"        开启防火墙:    s
        关闭防火墙:    p
        查询防火墙状态:a
        :" i
case $i in
    start|s)
    systemctl start dhcpd.service
    echo "启动DHCP服务"
    ;;
    stop|p)
    systemctl stop dhcpd.service
    echo "关闭DHCP服务"
    ;;
    status|a)
    systemctl status dhcpd.service
    echo "查看DHCP服务状态"
    ;;
    *)
    echo "请输入正确选项..."
    sh dhcp1.sh
    ;;
esac
' > dhcp1.sh
read -p "请选择您要操作的选项:
        开启防火墙:    s
        关闭防火墙:    p
        查询防火墙状态:a
        :" i
case $i in
    start|s)
    systemctl start dhcpd.service
    echo "启动DHCP服务"
    ;;
    stop|p)
    systemctl stop dhcpd.service
    echo "关闭DHCP服务"
    ;;
    status|a)
    systemctl status dhcpd.service
    echo "查看DHCP服务状态"
    ;;
    *)
    echo "请输入正确选项..."
    sh dhcp1.sh
    ;;
esac
 

用shell写一个简单DHCP配置脚本的更多相关文章

  1. 创建一个简单的配置android编译环境的脚本

    由于有多个Android项目,每个项目配置编译环境时选项都不同,所以尝试写一个sh脚本来完成这个功能.     首先进入bin文件夹,新建一个文件enbuild $ cd ~/bin $ touch ...

  2. 如何写一个简单的shell

    如何写一个简单的shell 看完<UNIX环境高级编程>后我就一直想写一个简单的shell来作为练习,因为有事断断续续的写了好几个月,如今写了差不多来总结一下. 源代码放在了Github: ...

  3. 写一个简单的 Linux Shell (C++)

    这里可以找到代码 github.com/z0gSh1u/expshell 支持的特性 单条指令的执行 引号引起的参数(如 $ some_program "hello, world" ...

  4. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  5. 一个简单的ETL脚本的内容

    一个简单的ETL脚本应该包含如下内容 1.注释 2.设置字符集 3.基础路径参数 脚本路径 票据路径 日志路径 当前SHELL的脚本别名:declare SHELL_NAME=“${basename ...

  6. 一步一步写一个简单通用的makefile(三)

    上一篇一步一步写一个简单通用的makefile(二) 里面的makefile 实现对通用的代码进行编译,这一章我将会对上一次的makefile 进行进一步的优化. 优化后的makefile: #Hel ...

  7. (2)自己写一个简单的servle容器

    自己写一个简单的servlet,能够跑一个简单的servlet,说明一下逻辑. 首先是写一个简单的servlet,这就关联到javax.servlet和javax.servlet.http这两个包的类 ...

  8. 使用springboot写一个简单的测试用例

    使用springboot写一个简单的测试用例 目录结构 pom <?xml version="1.0" encoding="UTF-8"?> < ...

  9. 给 asp.net core 写一个简单的健康检查

    给 asp.net core 写一个简单的健康检查 Intro 健康检查可以帮助我们知道应用的当前状态是不是处于良好状态,现在无论是 docker 还是 k8s 还是现在大多数的服务注册发现大多都提供 ...

随机推荐

  1. struts 中数据处理的3中方式

    方式一: 获取servletapi中的对象 方式二: struts中封装的对象 方式三: 实现接口 方式一和方式二的区别 方式一需要额外引入包或者是方式二实现不了的功能,比如:获取url 因为方式二只 ...

  2. php中mysqli 处理查询结果集总结

    在PHP开发中,我们经常会与数据库打交道.我们都知道,一般的数据处理操作流程为 接收表单数据 数据入库 //连接数据库 $link = mysqli_connect("my_host&quo ...

  3. 常用的ES6方法

    常用的ES6方法 ES6之后,新增了定义变量的两个关键字,分别是let和const. let和const都能够声明块级作用域,用法和var是类似的,let的特点是不会变量提升,而是被锁在当前块中. 实 ...

  4. 搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群

    笔记内容:搭建ELK日志分析平台(上)-- ELK介绍及搭建 Elasticsearch 分布式集群笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装e ...

  5. ASP.NET-datatable转换成list对象

    #region 讲DataTable转换为List对象 /// <summary> /// 利用反射将DataTable转换为List<T>对象 /// </summar ...

  6. 使用BabeLua在cocos2d-x中编辑和调试Lua

    使用BabeLua在cocos2d-x中编辑和调试Lua BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查.自己主动补全.高速搜索,注入宿主程序内对Lu ...

  7. 在 RedHat/CentOS 7.x 中使用 nmcli 命令管理网络

    在 RedHat/CentOS 7.x 中使用 nmcli 命令管理网络 学习了:https://linux.cn/article-5410-1.html#3_3613 http://www.linu ...

  8. 同一个TextView设置不同的颜色和大小

    //strategy1是一个TextView SpannableStringBuilder builder1 = new SpannableStringBuilder(strategy1.getTex ...

  9. adt-bundle-windows加入NDK支持

    近期换了个硬盘,曾经都是用eclipse安装adt插件的,如今老了,图省事就下载了adt-bundle-windows,解压缩出来就直接用.但是这个adt-bundle没有集成NDK支持,于是手动安装 ...

  10. Android ImageView 不显示JPEG图片 及 Android Studio中怎样引用图片资源

    Android ImageView 不显示JPEG图片 今天在写一个小实例,ImageView在xml里面设置的是INVISIBLE,在代码里须要设置成setVisibility(View.VISIB ...