From 8465c2bdf84c4e7836d33032d541ead75456e686 Mon Sep 17 00:00:00 2001 From: William Melody Date: Sat, 12 Sep 2015 13:19:17 -0700 Subject: [PATCH] Exit with "Not found" message on failed search in `enable`/`disable` When the search string in `enable` or `disable` is not found, exit the program and provide feedback rather than silently failing. --- hosts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hosts b/hosts index 3eb6a2d..b726772 100755 --- a/hosts +++ b/hosts @@ -725,6 +725,10 @@ disable() { sed -n "s/^\([^#]*${search_term}.*\)$/\1/p" "${HOSTS_PATH}" ) _debug printf "disable() \$targets: %s\n" "$targets" + if [[ -z "${targets}" ]] + then + _die printf "Not found: %s\n" "${search_term}" + fi printf "Disabling:\n%s\n" "${targets}" @@ -788,6 +792,12 @@ enable() { local targets targets=$(sed -n "${target_regex}p" "${HOSTS_PATH}") + _debug printf "enable() \$targets: %s\n" "$targets" + if [[ -z "${targets}" ]] + then + _die printf "Not found: %s\n" "${search_term}" + fi + printf "Enabling:\n%s\n" "${targets}" # -i '' - in place edit. BSD sed requires extension argument, for GNU