centos7环境配置脚本

内容纲要

克隆或从模板创建虚拟机后,网卡的IP地址和UUID会出现重复,需要重新设置。
网卡配置文件路径一般为:
/etc/sysconfig/network-scripts/ifcfg-ens192

# sed -e 是把修改内容显示在屏幕上,如果要修改文件内容需要使用sed -i 
filePath="/etc/sysconfig/network-scripts/ifcfg-ens192"
#查找文件中以UUID开头的行,并且将其替换为 UUID=新生成的UUID串
#如果没有查到则追加到文件末尾行后
grep -q '^UUID=' $filePath && sed -e "/^UUID=/c UUID=\"$(uuidgen)\"" $filePath || sed -e "$ a\UUID=\"$(uuidgen)\"" $filePath
#输入新IP地址
read -p "请输入新的IP地址:" ip
#将输入的ip地址替换或追加到文件中
grep -q '^IPADDR=' $filePath && sed -e "/^IPADDR=/c IPADDR=\"$ip\"" $filePath || sed -e "$ a\IPADDR=\"$ip\"" $filePath
#重启网络
systemctl restart network

windows先编辑的脚本文件在Linux下运行时经常提示: $'\r': command not found 的错误 ,这是是因为Shell脚本在Windows系统编写时,每行结尾是\r\n,而在Linux系统中行每行结尾是:\n,所以在Linux系统中运行脚本时,会认为\r是一个字符,导致运行错误。
解决办法时去除脚本中\r 字符:

set -i 's/\r//' xxx.sh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注