linux 修改/etc/hosts文件的Bash脚本

axzmvihb  于 2023-05-28  发布在  Linux
关注(0)|答案(2)|浏览(202)

当我运行下一个bash时,它第一次就工作了,但是如果我再次运行,它会修改文件

oldHS=$HOSTNAME
echo -n "New hostname: "
read NHOST
sed -i "s/$oldHS/$NHOST/g" /etc/hosts
sudo hostnamectl set-hostname $NHOST
read -p "In the following file please validate the change. If it is correct, press control + x otherwise make the change and press control + o. Press enter to continue"
sudo nano /etc/hosts
hostnamectl
read -p "Presione enter para finalizar"

hostnamectl set-hostname $NHOST始终进行更改,但脚本仅在/etc/hosts文件中第一次进行更改

wmomyfyw

wmomyfyw1#

正如Shawn在评论中所说,$HOSTNAME并不反映chanague,直到我启动一个新的shell。我为此在oldHS变量中做了一个更改,它可以正常工作

oldHS=$(hostname)
x8goxv8g

x8goxv8g2#

#!/bin/bash
echo "new_hostname" > /etc/hostname && hostnamectl set-hostname "new_hostname"

将两次出现的“new_hostname”替换为您要设置的所需主机名。当使用它作为EC2用户数据时,脚本将更新/etc/hostname文件,并使用hostnamectl设置新的主机名。

相关问题