From aad676ae041ee0d952fba783e549c95a130a284a Mon Sep 17 00:00:00 2001 From: Nikolas Weger Date: Mon, 26 Aug 2019 15:46:39 +0200 Subject: [PATCH] updated stuffs --- bin/hosts | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 bin/hosts diff --git a/bin/hosts b/bin/hosts new file mode 100755 index 0000000..30c80fd --- /dev/null +++ b/bin/hosts @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +# Path to your hosts file +hostsFile="/etc/hosts" + +# Default IP address for host +ip="127.0.0.1" + +# Hostname to add/remove. +hostname="$2" + +yell() { echo "$0: $*" >&2; } +die() { yell "$*"; exit 111; } +try() { "$@" || die "cannot $*"; } + +remove() { + if [ -n "$(grep -P "[[:space:]]$hostname" /etc/hosts)" ]; then + echo "$hostname found in $hostsFile. Removing now..."; + try sudo sed -ie "/[[:space:]]$hostname/d" "$hostsFile"; + else + yell "$hostname was not found in $hostsFile"; + fi +} + +add() { + if [ -n "$(grep -P "[[:space:]]$hostname" /etc/hosts)" ]; then + yell "$hostname, already exists: $(grep $hostname $hostsFile)"; + else + echo "Adding $hostname to $hostsFile..."; + try printf "%s\t%s\n" "$ip" "$hostname" | sudo tee -a "$hostsFile" > /dev/null; + + if [ -n "$(grep $hostname /etc/hosts)" ]; then + echo "$hostname was added succesfully:"; + echo "$(grep $hostname /etc/hosts)"; + else + die "Failed to add $hostname"; + fi + fi +} + +$@