diff options
-rwxr-xr-x | bin/shoal | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -1,15 +1,16 @@ -#!/bin/sh +#!/usr/bin/env bash # -# shoal(1) -- Print all the non-wildcard Host names (first -# one per line) from an ssh_config(5) file, defaulting to -# $HOME/.ssh/config. +# shoal(1) -- Print all the non-wildcard Host names (first one per line) from +# an ssh_config(5) file, defaulting to $HOME/.ssh/config. # # Author: Tom Ryder <tom@sanctum.geek.nz> # Copyright: 2014 # License: Public domain # - -prog='$1 == "Host" && $2 !~ /[^a-z0-9_-]/ {print $2}' -awk "$prog" "${1:-$HOME/.ssh/config}" +while read -r option value _ ; do + if [[ $option == 'Host' && $value != *[^[:alnum:]_-]* ]] ; then + printf '%s\n' "$value" + fi +done < "${1:-$HOME/.ssh/config}" |