要使用腳本自動修改Linux主機名,可以編寫一個簡單的Shell腳本來完成這個任務。以下是一個示例腳本,它會提示用戶輸入新的主機名,并將其應用到系統中。
打開終端。
使用文本編輯器(如nano
、vim
等)創建一個新的Shell腳本文件。例如,使用nano
:
nano change_hostname.sh
在編輯器中輸入以下內容:
#!/bin/bash
# 提示用戶輸入新的主機名
read -p "請輸入新的主機名: " new_hostname
# 檢查新主機名是否為空
if [ -z "$new_hostname" ]; then
echo "主機名不能為空"
exit 1
fi
# 修改主機名
sudo hostnamectl set-hostname $new_hostname
# 更新 /etc/hosts 文件中的主機名
sudo sed -i "s/$(hostname)/$new_hostname/g" /etc/hosts
# 重啟網絡服務以應用更改
sudo systemctl restart networking
echo "主機名已成功修改為 $new_hostname"
保存并關閉文件。
賦予腳本執行權限:
chmod +x change_hostname.sh
運行腳本:
./change_hostname.sh
腳本會提示你輸入新的主機名,并將其應用到系統中。具體步驟包括:
hostnamectl set-hostname
命令設置新的主機名。sed
命令更新/etc/hosts
文件中的主機名。請注意,修改主機名可能需要管理員權限,因此腳本中使用了sudo
命令。確保你有足夠的權限來運行這些命令。