方法
Ubuntu系统修改hostname需要修改/etc/hostname
和/etc/hosts
两个文件
命令
脚本需要以root权限执行
read -p "Input hostname: " name
sed -i "1c $name" /etc/hostname
sed -i "2c 127.0.0.1 $name" /etc/hosts
自动化
若需完全自动化可在脚本中申请root权限
使用sudo -S
参数读取标准输入作为密码
echo "password" | sudo -S sed -i "1c MyComputer" /etc/hostname
缺点是明文密码写在脚本里不安全
注意
hostname不能用下划线 _ 如com_1
可以用连字符 - 代替如com-1
更新
使用hostnamectl
命令可以直接修改
hostnamectl set-hostname MyComputer
缺点是hosts文件不会自动更新,需要手动更改
否则执行sudo
容易报错can't resolve to the host xxx