python網(wǎng)站開發(fā)學習西安百度百科
以下是一個簡單的 Bash 腳本,用于以交互方式更改 Ubuntu 20 系統(tǒng)的主機名:
1#!/bin/bash
2
3# 提示用戶輸入新的主機名
4read -p "請輸入新的系統(tǒng)名稱(主機名): " new_hostname
5
6# 檢查是否輸入了新的主機名
7if [ -z "$new_hostname" ]; then
8 echo "錯誤:未輸入新的系統(tǒng)名稱!"
9 exit 1
10fi
11
12# 備份當前的hostname文件
13sudo cp /etc/hostname /etc/hostname.bak
14
15# 更新 hostname 文件
16sudo sed -i 's/.*$/'"$new_hostname"'/' /etc/hostname
17
18# 更新 hosts 文件
19sudo sed -i "s/127.0.1.1.*$/127.0.1.1 $new_hostname/" /etc/hosts
20
21# 通知用戶重啟系統(tǒng)以應用更改
22echo "系統(tǒng)名稱已更改為 '$new_hostname'。請重啟系統(tǒng)以應用更改。"
23
24# 提示用戶是否現(xiàn)在重啟
25read -p "是否現(xiàn)在重啟系統(tǒng)?(y/n): " restart_choice
26
27if [ "$restart_choice" == "y" ]; then
28 sudo reboot
29else
30 echo "你可以隨時通過運行 'sudo reboot' 命令來重啟系統(tǒng)。"
31fi
這個腳本會做以下操作:
- 提示用戶輸入新的系統(tǒng)名稱(主機名)。
- 檢查是否輸入了新的主機名,如果沒有輸入則退出腳本。
- 備份當前的?
/etc/hostname
?文件。 - 使用?
sed
?命令更新?/etc/hostname
?文件為新的主機名。 - 更新?
/etc/hosts
?文件中的主機名。 - 提示用戶需要重啟系統(tǒng)以應用更改。
- 提示用戶是否立即重啟,如果用戶選擇是,則執(zhí)行?
sudo reboot
?命令進行重啟。
要使用這個腳本,你需要將它保存為一個文件,例如?change_hostname.sh
,然后賦予其執(zhí)行權(quán)限:
1chmod +x change_hostname.sh
最后,運行腳本:
1./change_hostname.sh
?