37 lines
816 B
Bash
37 lines
816 B
Bash
#/usr/bin/env bash
|
|
#complete -W "now tomorrow never" ./dothis.sh
|
|
#complete -A directory ./dothis.sh
|
|
|
|
_smbmount()
|
|
{
|
|
listServers=""
|
|
|
|
browse=$(avahi-browse -tpr _smb._tcp)
|
|
while IFS= read -r line; do
|
|
if [[ $(cut -d';' -f1 <<< "$line") = "=" ]]; then
|
|
listServers="${listServers}$(cut -d';' -f7 <<< "$line")"$'\n'
|
|
fi
|
|
done <<< "$browse"
|
|
|
|
# Delete empty line, space and duplicate line
|
|
listServers=$(sed -e 's/\t\(.*\)//' -e 's/ //g' <<< "$listServers" | uniq)
|
|
|
|
listServers=$(sort <<<"$listServers")
|
|
|
|
OPTIONS="-s -a -A -u -i"
|
|
|
|
# Si on est en train d'écrire le 2ème mot (1er argument)
|
|
if [ "$prev" == "-A" ]; then
|
|
|
|
COMPREPLY=( $(compgen -W "$listServers" -- "$cur" ) )
|
|
# else
|
|
#
|
|
#
|
|
# COMPREPLY=( $(compgen -W '$OPTIONS' -- "$cur" ) )
|
|
fi
|
|
|
|
|
|
}
|
|
|
|
complete -F _smbmount smbmount
|