修改Linux主机名脚本

修改 Linux 主机名时,除了当前会话,通常还要同步改 hostnamehosts 文件。

脚本

#!/bin/bash
 
if [ -z "$1" ]; then
  echo "Example: $0 new-hostname"
  exit 1
fi
 
OLD_HOSTNAME=$(hostname)
NEW_HOSTNAME=$1
 
sudo hostnamectl set-hostname "$NEW_HOSTNAME"
echo "$NEW_HOSTNAME" | sudo tee /etc/hostname
sudo sed -i "s/$OLD_HOSTNAME/$NEW_HOSTNAME/g" /etc/hosts
 
echo "Hostname is already change to: $NEW_HOSTNAME"

注意

这份脚本默认系统支持 hostnamectl,更适合现代 Linux 发行版。