需要一個 bash 腳本來用新的 IP 位址取代靜態 IP

需要一個 bash 腳本來用新的 IP 位址取代靜態 IP

我想要一個 Centos 機器的 bash 腳本。我希望腳本顯示目前的 IP 位址/子網路遮罩/預設 GW。並讓我選擇輸入新的 IP 位址/子網路遮罩/預設 GW。它應該為 ETH0 做到這一點。

有人知道如何做嗎?

謝謝!

答案1

我不會把所有內容都寫給你,但這裡有一些可以在 Ubuntu 中運行的東西:

ifconfig eth0 | grep "inet addr:" | awk -F: '{ print $2 }' | awk '{ print $1 }'

這將回顯 eth0 中的目前 IP 位址。

答案2

ifconfig(1) 是用於操作介面 IP 參數的標準指令。看看man ifconfig如何使用它,但是例如

ifconfig eth0 192.168.0.1 netmask 255.255.255.0

將為 eth0 設定 IP 位址和網路遮罩。

要讀取介面參數,您可以使用 grep/sed/perl 來解析 的輸出ifconfig eth0,但如果您有 ifdata 命令,則獲得例如 IP 位址的一種不那麼痛苦的方法是

ifdata -pa eth0

在 Ubuntu 中,ifdata 是軟體包的一部分moreutils

相關內容