内容纲要
克隆或从模板创建虚拟机后,网卡的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