Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- usage() {
- echo -e "Usage: $0 <newip/mask> <interface>\n\tExample: $0 192.168.1.5/24 eth0"
- exit 1
- }
- NEWIP=$(echo $1 | grep -Eo "^(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}\/[0-9]{1,2}$" | head -n 1)
- IFACE=$(echo $2 | grep -Eoi '^[-a-z0-9_]*$' | head -n 1)
- if [ "$NEWIP" = "" ]; then
- echo "Incorrect IP address"
- usage
- fi
- if [ "$IFACE" = "" ]; then
- echo "Incorrect interface name"
- usage
- fi
- if [ $(ip link show | sed '/^\s/d;s/://g' | awk '{ print $2 }' | grep -Eo "^$IFACE$" | wc -l) -lt 1 ]; then
- echo "Unknown interface"
- usage
- fi
- ip address flush dev $IFACE
- ip address add $NEWIP dev $IFACE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement