Last active 19 hours ago

timmy revised this gist 19 hours ago. Go to revision

1 file changed, 22 insertions

change_hostname.sh(file created)

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