blob: 02e9af0693c609e854fde899cae20e9da76830e8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# Complete ssh_config(5) hostnames
_ssh_config_hosts() {
# Read hostnames from existent config files, no asterisks
local -a hosts
local config option value
for config in "$HOME"/.ssh/config /etc/ssh/ssh_config ; do
[[ -e $config ]] || continue
while read -r option value _ ; do
[[ $option == Host ]] || continue
[[ $value != *'*'* ]] || continue
hosts[${#hosts[@]}]=$value
done < "$config"
done
# Generate completion reply
for host in "${hosts[@]}" ; do
[[ $host == "${COMP_WORDS[COMP_CWORD]}"* ]] || continue
COMPREPLY[${#COMPREPLY[@]}]=$host
done
}
|