Última atividade 19 hours ago

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