2015-10-06 152 views
0

在Mac OS X機器上手動添加使用etc/hosts的託管文件後,我們發現我們需要刪除當前主機並添加一個新主機。我想知道是否可以使用Bash爲Mac OS X添加託管文件。Mac OS X Bash主機腳本

這是當前狀態。我們如何改變最後一行或添加一行?

## 
# Host Database 
# 
# localhost is used to configure the loopback interface 
# when the system is booting. Do not change this entry. 
## 
127.0.0.1    localhost Computer_Name 
255.255.255.0  broadcasthost 
::1      localhost 
10.24.82.5   server_name 
+2

請加樣品輸入,該輸入您的問題樣品所需輸出。 – Cyrus

+0

下面你會發現我們有什麼樣的例子。主數據庫中的最後一行是我們希望進行更改的地方。假設我們想使用bash腳本從10.24.82.5更改IP。這會起作用嗎? – MyloTut

+0

可能的重複http://stackoverflow.com/questions/28457543/sed-replace-ip-in-hosts-file-using-hostname-as-pattern – tripleee

回答

2

我猜你是問如何編輯命令行的文件,然後

$ sed -i.OLD '[email protected]\.24\.82\.5 @8.8.8.8 @' /etc/hosts 

-i選項允許sed到就地編輯。 您可能需要sudo才能對該文件擁有寫入權限。

+0

-i.OLD將定義舊的I.P. 8.8.8.8也是新的IP? – MyloTut

+0

將保存備份副本(file.OLD) –

1

您可以簡單地使用sed去改變它,你只需要提供新的IP地址:

sed 's/^.*\(server_name\)/new_ip_address \1/' file