修改主机名和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 @   小白一生  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示