diff --git a/share/functions/__fish_print_hostnames.fish b/share/functions/__fish_print_hostnames.fish index aca754c1f..7c7a28a81 100644 --- a/share/functions/__fish_print_hostnames.fish +++ b/share/functions/__fish_print_hostnames.fish @@ -3,7 +3,8 @@ function __fish_print_hostnames -d "Print a list of known hostnames" # HACK: This only deals with ipv4 # Print all hosts from /etc/hosts - if type -q getent + # use 'getent hosts' on OSes that support it (OpenBSD and Cygwin do not) + if type -q getent; and getent hosts > /dev/null 2>&1 # test if 'getent hosts' works and redirect output so errors don't print # Ignore zero ips getent hosts | string match -r -v '^0.0.0.0' \ | string replace -r '[0-9.]*\s*' '' | string split " "