博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu设置IP和hostname的shell脚本
阅读量:6213 次
发布时间:2019-06-21

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

  hot3.png

以前有段时间经常新配虚拟机搭环境,于是写了个shell脚本提示性输入配置,今天翻到了发上来.

#!/bin/bash# By Swire "idoop@msn.cn"if [[ $(whoami) == "root" ]];thenecho "当前执行权限: root"elseecho "当前用户:" $(whoami)echo "请使用管理员权限执行脚本."exitfiwhile read -p "是否设置本机静态IP,退出输入:n,设置IP输入:y  [y|n]" yndo	if [[ ${yn} == [Nn] ]];then		exit	elif [[ ${yn} == [Yy] ]];then		while read -p "输入本机IP地址,如192.168.1.9 :" ip		do			read -p "将设置ip地址为${ip},请确认[y|n]:" yn			if [[ ${yn} == [Yy] ]];then				read -p "输入DNS, 如:119.29.29.29 (Default:119.29.29.29):" dns				read -p "输入网关,如192.168.1.1 (Default:192.168.1.1):" gateway				read -p "输入掩码,如255.255.255.0 (Default:255.255.255.0):" mask								echo "IP: "${ip}				echo "DNS:"${dns:-"119.29.29.29"}				echo "网关:"${gateway:-"192.168.1.1"}				echo "掩码:"${mask:-"255.255.255.0"}				read -p "以上配置是否正确?若是写错请按n重新配置. 请确认[y|n]:" yn				if [[ ${yn} == [Yy] ]];then					#设置DNS					sed -i "/exit/i\nameserver ${dns:-"119.29.29.29"}" /etc/rc.local					sed -i "/127.0.0.1/i\127.0.0.1 ${ip//./-}" /etc/hosts					#重写interfaces设置IP					echo 'source /etc/network/interfaces.d/*' > /etc/network/interfaces					echo 'auto lo' >> /etc/network/interfaces					echo 'iface lo inet loopback' >> /etc/network/interfaces					echo 'auto ens160' >> /etc/network/interfaces					echo 'iface ens160 inet static' >> /etc/network/interfaces					echo 'address '${ip} >> /etc/network/interfaces					echo 'gateway '${gateway:-"192.168.1.1"} >> /etc/network/interfaces					echo 'netmask '${mask:-"255.255.255.0"} >> /etc/network/interfaces				else					continue				fi			else				continue			fi			read -p "是否将${ip//./-}作为hostname?请确认[y|n]:" yn			if [[ ${yn} == [Yy] ]];then				hostnamectl set-hostname ${ip//./-}			else 				read -p "请手动输入hostname: " hname				read -p '确认以"'${hname}'"为hostname [y|n]:' yn				if [[ ${yn} == [Yy] ]];then					hostnamectl set-hostname ${hname}				fi			fi			read -p '需要重启生效,是否重启 [y|n]: ' yn			if [[ ${yn} == [Yy] ]];then				reboot			fi			exit		done	fidone

转载于:https://my.oschina.net/idoop/blog/1377489

你可能感兴趣的文章
项目总结 20171226
查看>>
微信小程序实时通讯(websocket)问题
查看>>
docker基本操作
查看>>
程序中加载资源文件
查看>>
Nginx 配置学习笔记
查看>>
JavaScript继承模式
查看>>
后面有多少个零
查看>>
Vue.js非常重要之组件
查看>>
vue-数据获取的2中方式
查看>>
程序员必读: 摸清Hash表的脾性
查看>>
搞一搞laravel里api路由的 auth:api 和 api_token
查看>>
极致PCWeb性能 —— 同步加载vs异步加载
查看>>
2017-05-27 前端日报
查看>>
PostgreSQL升级方案
查看>>
Quartz 2 定时任务(三):异常与中断处理
查看>>
curl记录响应时间
查看>>
JS进阶篇--touch.js 拖动、缩放、旋转 (鼠标手势)
查看>>
Maximum XOR of Two Numbers in an Array
查看>>
Reddit引入Envoy支持架构改造,性能显著提升
查看>>
Airbnb如何简化1000多位工程师的Kubernetes工作流程?
查看>>