修改主机名和IP地址的脚本

modify_ip_hostname.sh
#!/bin/bash

# 默认值
new_ip="192.168.1."
new_hostname="new-hostname"
interface="eth0"

# 检查是否提供了参数
if [ "$#" -eq 0 ]; then
  echo "Usage: $0 [-i IP] [-h HOSTNAME] [-n INTERFACE]"
  exit 1
fi

# 解析命令行参数
while getopts ":i:h:n:" opt; do
  case ${opt} in
    i )
      new_ip=$new_ip$OPTARG
      ;;
    h )
      new_hostname=$OPTARG
      ;;
    n )
      interface=$OPTARG
      ;;
    \? )
      echo "Invalid option: -$OPTARG" 1>&2
      exit 1
      ;;
    : )
      echo "Invalid option: -$OPTARG requires an argument" 1>&2
      exit 1
      ;;
  esac
done
shift $OPTIND

# 如果提供了新的IP地址,则修改IP地址
if [ -n "$new_ip" ]; then
  sudo ip addr flush dev $interface
  sudo ip addr add $new_ip/24 dev $interface
  sudo ip link set dev $interface up
fi

# 如果提供了新的主机名,则修改主机名
if [ -n "$new_hostname" ]; then
  sudo hostnamectl set-hostname $new_hostname
fi

# 输出修改后的主机名和IP地址
echo "Modified IP address: $new_ip"
echo "Modified hostname: $new_hostname"
posted @ 2024-12-05 11:36  小白一生  阅读(98)  评论(0)    收藏  举报