linux

怎样用脚本修改Linux hostname

小樊
47
2025-03-28 06:54:01
栏目: 智能运维

在 Linux 系统中,可以通过多种方式使用脚本来修改主机名。以下是几种常见的方法:

方法一:使用 hostnamectl 命令(适用于 systemd)

  1. 创建一个脚本文件,例如 change_hostname.sh

    #!/bin/bash
    
    if [ "$#" -ne 1 ]; then
        echo "Usage: $0 <new_hostname>"
        exit 1
    fi
    
    NEW_HOSTNAME=$1
    
    # 修改 hostname
    sudo hostnamectl set-hostname $NEW_HOSTNAME
    
    # 更新 /etc/hosts 文件(如果需要)
    sudo sed -i "s/^127.0.0.1.*/127.0.0.1 $NEW_HOSTNAME/" /etc/hosts
    
    echo "Hostname changed to $NEW_HOSTNAME"
    
  2. 赋予脚本执行权限:

    chmod +x change_hostname.sh
    
  3. 运行脚本:

    sudo ./change_hostname.sh new-hostname
    

方法二:直接修改 /etc/hostname/etc/hosts

  1. 创建一个脚本文件,例如 change_hostname.sh

    #!/bin/bash
    
    if [ "$#" -ne 1 ]; then
        echo "Usage: $0 <new_hostname>"
        exit 1
    fi
    
    NEW_HOSTNAME=$1
    
    # 修改 /etc/hostname
    echo $NEW_HOSTNAME | sudo tee /etc/hostname
    
    # 更新 /etc/hosts 文件
    sudo sed -i "s/^127.0.0.1.*/127.0.0.1 $NEW_HOSTNAME/" /etc/hosts
    
    # 重启网络服务以应用更改
    sudo systemctl restart networking
    
    echo "Hostname changed to $NEW_HOSTNAME"
    
  2. 赋予脚本执行权限:

    chmod +x change_hostname.sh
    
  3. 运行脚本:

    sudo ./change_hostname.sh new-hostname
    

方法三:使用 hostname 命令(适用于不使用 systemd 的系统)

  1. 创建一个脚本文件,例如 change_hostname.sh

    #!/bin/bash
    
    if [ "$#" -ne 1 ]; then
        echo "Usage: $0 <new_hostname>"
        exit 1
    fi
    
    NEW_HOSTNAME=$1
    
    # 修改 hostname
    sudo hostname $NEW_HOSTNAME
    
    # 更新 /etc/hosts 文件(如果需要)
    sudo sed -i "s/^127.0.0.1.*/127.0.0.1 $NEW_HOSTNAME/" /etc/hosts
    
    echo "Hostname changed to $NEW_HOSTNAME"
    
  2. 赋予脚本执行权限:

    chmod +x change_hostname.sh
    
  3. 运行脚本:

    sudo ./change_hostname.sh new-hostname
    

注意事项

通过以上方法,你可以使用脚本来方便地修改 Linux 系统的主机名。

0
看了该问题的人还看了