Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 3.144.123.61
# mount(8) completion -*- shell-script -*-
# Use of this file is deprecated on Linux. Upstream completion is
# available in util-linux >= 2.28, use that instead.
if [[ $OSTYPE == *linux* ]]; then
. "$BASH_SOURCE.linux"
return
fi
# This will pull a list of possible mounts out of
# /etc/{,v}fstab, unless the word being completed contains a ':', which
# would indicate the specification of an NFS server. In that case, we
# query the server for a list of all available exports and complete on
# that instead.
#
_mount()
{
local cur prev words cword
_init_completion -n : || return
local sm host
case $prev in
-t|--types)
_fstypes
return
;;
esac
[[ "$cur" == \\ ]] && cur="/"
if [[ "$cur" == *:* ]]; then
for sm in "$(type -P showmount)" {,/usr}/{,s}bin/showmount; do
[[ -x $sm ]] || continue
COMPREPLY=( $(compgen -W "$("$sm" -e ${cur%%:*} | \
awk 'NR>1 {print $1}')" -- "${cur#*:}") )
return
done
fi
if [[ "$cur" == //* ]]; then
host=${cur#//}
host=${host%%/*}
if [[ -n $host ]]; then
COMPREPLY=( $(compgen -P "//$host" -W \
"$(smbclient -d 0 -NL $host 2>/dev/null |
command sed -ne '/^[[:blank:]]*Sharename/,/^$/p' |
command sed -ne '3,$s|^[^A-Za-z]*\([^[:blank:]]*\).*$|/\1|p')" \
-- "${cur#//$host}") )
fi
elif [[ -r /etc/vfstab ]]; then
# Solaris
COMPREPLY=( $(compgen -W "$(awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}' /etc/vfstab)" -- "$cur") )
elif [[ ! -e /etc/fstab ]]; then
# probably Cygwin
COMPREPLY=( $(compgen -W "$($1 | awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}')" -- "$cur") )
else
# probably BSD
COMPREPLY=( $(compgen -W "$(awk '! /^[ \t]*#/ {if ($2 ~ /\//) print $2}' /etc/fstab)" -- "$cur") )
fi
} &&
complete -F _mount -o default -o dirnames mount
# ex: filetype=sh
|