diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2014-10-16 14:09:40 +1300 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2014-10-16 14:09:40 +1300 |
commit | 36320a75d1306bf113b618243765557d56d12960 (patch) | |
tree | d998b06a100db1194f3d0a14d646eda9624ac29d /bin | |
parent | Defer expansion until bell alias use (diff) | |
download | dotfiles-36320a75d1306bf113b618243765557d56d12960.tar.gz dotfiles-36320a75d1306bf113b618243765557d56d12960.zip |
Ditch Awk version of shoal(1) for pure Bash
Diffstat (limited to 'bin')
-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}" |