Created
February 8, 2012 21:03
-
-
Save peelman/1773863 to your computer and use it in GitHub Desktop.
Bash AutoComplete from known_hosts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# add to ~/.bash_profile, and close/reopen a shell. Will autocomplete any hosts found in known_hosts. | |
complete -W "$(echo `cat ~/.ssh/known_hosts | cut -f 1 -d ' ' | sed -e s/,.*//g | uniq | grep -v "\["`;)" ssh |
@Walentys so didn't even know you commented here...was just looking around at some old gists and saw this...
due to some issues somewhere in my past, I trained myself to use ssh's -l
flag to set the login and don't use the user@host syntax except in rare cases. Don't remember the specifics of why, it just became a thing.
complete -W "$(awk -F , '/\[/ {hosts[$1]} END {for (host in hosts) {print host}' "$HOME/.ssh/known hosts")"
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is cool, but would you know how to get it to complete only after the "user@" part? It treats the "user@host" as a whole string so completion fails after the @. Thanks.