Shell 脚本修改 Mac IP地址

本篇文章由:http://xinpure.com/shell-script-to-modify-the-mac-ip-address/

麻烦事

最近在笔记本 WIFI 网络上遇到一个麻烦事,

在公司需要网络需要静态 IP 地址,关键还是 4 网段的 IP (192.168.4.1)

但是家里的的网络是在 1 网段的 IP (192.168.1.1)

所以就成了,每天到公司要手动修改静态 IP 地址,然后回到家里后又得重新设置为 DHCP

好烦~

命令行修改 IP 地址

唯一能方便点的方法,就是通过命令行的方式来修改 IP 地址了,命令: networksetup

首先,通过以下命令查看 networkservice

networksetup -listallnetworkservices

以下为列出的网络服务:

An asterisk (*) denotes that a network service is disabled.

Wi-Fi

Bluetooth PAN

Thunderbolt Bridge

这里需要修改无线网络的配置,即 Wi-Fi

设置 networkservice DHCP

sudo networksetup -setdhcp networkservice

设置 networkservice 静态 IP

sudo networksetup -setmanual networkservice ip subnet router

sudo networksetup -setdnsservers networkservice dns1 [dns2] [...]

或者

sudo networksetup -setmanualwithdhcprouter networkservice ip

写成脚本

#!/bin/sh

NETWORK_TYPE=$1

if [ -z $NETWORK_TYPE ]; then

    NETWORK_TYPE='dhcp'

fi

if [ $NETWORK_TYPE == 'dhcp' ]; then

    echo 'Wi-Fi network has been amended to DHCP'

    sudo networksetup -setdhcp Wi-Fi

elif [ $NETWORK_TYPE == 'manual' ]; then

    echo 'Wifi network has been amended to Manual (Current IP: 192.168.4.120)'

    sudo networksetup -setmanualwithdhcprouter Wi-Fi 192.168.4.120

fi

执行脚本时,传 dhcp/manual 参数,即可将 Wi-Fi 设置为 DHCP 或 静态 IP,默认为 dhcp

sudo ./network_wifi.sh dhcp/manual

链接:https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/networksetup.8.html