#!/bin/bash # Idea and interface taken from https://github.com/macmade/host-manager path="/etc/hosts" addusage="Usage: `basename $0` --add host address" remusage="Usage: `basename $0` --remove host" listusage="Usage: `basename $0` --list [127.]" case "$1" in --add) if [ $# -eq 3 ]; then if [[ -n $(grep "^$3.*[^A-Za-z0-9\.]$2$" ${path}) ]]; then echo "Duplicate address/host combination, ${path} unchanged." else printf "$3\t$2\n" >> ${path} fi else echo $addusage; fi ;; --remove) if [ $# -eq 2 ]; then sed -i '' "s/^[^#].*[^A-Za-z0-9\.]$2$//g;/^$/d" ${path} else echo $remusage; fi ;; --list) if [ $# -eq 2 ]; then grep "^$2" ${path} else cat ${path} | grep -v "^#" fi ;; *) echo $addusage; echo $remusage; echo $listusage; esac