#!/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. # # Author: Tom Ryder # Copyright: 2014 # License: Public domain # # Name self self=shoal while read -r option value _ ; do if [[ $option == 'Host' && $value != *[^[:alnum:]._-]* ]] ; then printf '%s\n' "$value" fi done < "${1:-$HOME/.ssh/config}"