#!/bin/bash # 1. 取得目前的內網 IP (以預設網卡為主) INTERNAL_IP=$(hostname -I | awk '{print $1}') if [ -z "$INTERNAL_IP" ]; then echo "錯誤: 無法取得 IP 位址" exit 1 fi # 2. 將 IP 中的句點換成連字號,並加上 ip- 前綴 NEW_HOSTNAME="ip-${INTERNAL_IP//./-}" echo "即將將 Hostname 改為: $NEW_HOSTNAME" # 3. 執行修改指令 sudo hostnamectl set-hostname "$NEW_HOSTNAME" # 4. 更新 /etc/hosts,確保 sudo 等指令不會變慢 sudo sed -i "s/127.0.1.1.*/127.0.1.1 $NEW_HOSTNAME/" /etc/hosts echo "修改完成!請重新登入或執行 'exec bash' 查看效果。"