aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/functions/__fish_print_hostnames.fish
diff options
context:
space:
mode:
Diffstat (limited to 'share/functions/__fish_print_hostnames.fish')
-rw-r--r--share/functions/__fish_print_hostnames.fish16
1 files changed, 16 insertions, 0 deletions
diff --git a/share/functions/__fish_print_hostnames.fish b/share/functions/__fish_print_hostnames.fish
new file mode 100644
index 00000000..f6de9784
--- /dev/null
+++ b/share/functions/__fish_print_hostnames.fish
@@ -0,0 +1,16 @@
+
+function __fish_print_hostnames -d "Print a list of known hostnames"
+
+ # Print all hosts from /etc/hosts
+ if test -f /etc/hosts
+ sed </etc/hosts -e 's/[0-9.]*\( \|\t\)*\(.*\)/\2/'|sed -e 's/\#.*//'|tr \t \n |grep -v '^$'
+ end
+ # Print nfs servers from /etc/fstab
+ if test -f /etc/fstab
+ grep </etc/fstab "^\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\|[a-zA-Z.]*\):"|cut -d : -f 1
+ end
+
+ # Print hosts with known ssh keys
+ cat ~/.ssh/known_hosts{,2} ^/dev/null|cut -d ' ' -f 1| cut -d , -f 1
+end
+