mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-01-09 20:33:34 -08:00
323 lines
7.1 KiB
Bash
323 lines
7.1 KiB
Bash
# bash completion for samba -*- shell-script -*-
|
|
|
|
_samba_resolve_order()
|
|
{
|
|
COMPREPLY=($(compgen -W 'lmhosts host wins bcast' -- "$cur"))
|
|
}
|
|
|
|
_samba_domains()
|
|
{
|
|
if [[ -n ${COMP_SAMBA_SCAN:-} ]]; then
|
|
COMPREPLY=($(compgen -W '$(smbtree -N -D)' -- "$cur"))
|
|
fi
|
|
}
|
|
|
|
_samba_hosts()
|
|
{
|
|
if [[ -n ${COMP_SAMBA_SCAN:-} ]]; then
|
|
COMPREPLY=($(compgen -W "$(
|
|
smbtree -N -S |
|
|
command sed -ne 's/^[[:space:]]*\\\\*\([^[:space:]]*\).*/\1/p'
|
|
)" -- "$cur"))
|
|
fi
|
|
}
|
|
|
|
_samba_debuglevel()
|
|
{
|
|
COMPREPLY=($(compgen -W '{0..10}' -- "$cur"))
|
|
}
|
|
|
|
_samba_sockopts()
|
|
{
|
|
COMPREPLY=($(compgen -W 'SO_KEEPALIVE SO_REUSEADDR SO_BROADCAST
|
|
TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT SO_SNDBUF SO_RCVBUF
|
|
SO_SNDLOWAT SO_RCVLOWAT' -- "$cur"))
|
|
}
|
|
|
|
_samba_signing()
|
|
{
|
|
COMPREPLY=($(compgen -W 'on off required' -- "$cur"))
|
|
}
|
|
|
|
_smbclient()
|
|
{
|
|
local cur prev words cword split
|
|
_init_completion -s || return
|
|
|
|
case $prev in
|
|
--name-resolve | -!(-*)R)
|
|
_samba_resolve_order
|
|
return
|
|
;;
|
|
-!(-*)t)
|
|
COMPREPLY=($(compgen -W 'SJIS EUC JIS7 JIS8 JUNET HEX CAP' \
|
|
-- "$cur"))
|
|
return
|
|
;;
|
|
--configfile | --authentication-file | -!(-*)[sA])
|
|
_filedir
|
|
return
|
|
;;
|
|
--log-basename | --directory | -!(-*)[lD])
|
|
_filedir -d
|
|
return
|
|
;;
|
|
--socket-options | -!(-*)O)
|
|
_samba_sockopts
|
|
return
|
|
;;
|
|
-!(-*)T)
|
|
COMPREPLY=($(compgen -W 'c x I X F b g q r N a' -- "$cur"))
|
|
return
|
|
;;
|
|
--workgroup | -!(-*)W)
|
|
_samba_domains
|
|
return
|
|
;;
|
|
--debuglevel | -!(-*)d)
|
|
_samba_debuglevel
|
|
return
|
|
;;
|
|
--list | -!(-*)L)
|
|
_samba_hosts
|
|
return
|
|
;;
|
|
--signing | -!(-*)S)
|
|
_samba_signing
|
|
return
|
|
;;
|
|
--port | --message | --ip-address | --send-buffer | --user | --netbiosname | \
|
|
--scope | --tar | --command | --max-protocol | -!(-*)[pMIbUniTcm])
|
|
return
|
|
;;
|
|
--help | --version | -!(-*)[?V])
|
|
return
|
|
;;
|
|
esac
|
|
|
|
$split && return
|
|
|
|
if [[ $cur == -* ]]; then
|
|
COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
|
|
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
|
|
fi
|
|
} &&
|
|
complete -F _smbclient smbclient
|
|
|
|
_smbget()
|
|
{
|
|
local cur prev words cword split
|
|
_init_completion -s || return
|
|
|
|
case $prev in
|
|
--outputfile | --rcfile | -!(-*)[of])
|
|
_filedir
|
|
return
|
|
;;
|
|
--debuglevel | -!(-*)d)
|
|
_samba_debuglevel
|
|
return
|
|
;;
|
|
--workgroup | -!(-*)w)
|
|
_samba_domains
|
|
return
|
|
;;
|
|
--username | --password | --blocksize | -!(-*)[upb])
|
|
return
|
|
;;
|
|
esac
|
|
|
|
$split && return
|
|
|
|
if [[ $cur == -* ]]; then
|
|
COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
|
|
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
|
|
fi
|
|
} &&
|
|
complete -F _smbget smbget
|
|
|
|
_smbcacls()
|
|
{
|
|
local cur prev words cword split
|
|
_init_completion -s || return
|
|
|
|
case $prev in
|
|
--configfile | --authentication-file | -!(-*)[As])
|
|
_filedir
|
|
return
|
|
;;
|
|
--log-basename | -!(-*)l)
|
|
_filedir -d
|
|
return
|
|
;;
|
|
--debuglevel | -!(-*)d)
|
|
_samba_debuglevel
|
|
return
|
|
;;
|
|
--signing)
|
|
_samba_signing
|
|
return
|
|
;;
|
|
--socket-options | -!(-*)O)
|
|
_samba_sockopts
|
|
return
|
|
;;
|
|
--workgroup | -!(-*)W)
|
|
_samba_domains
|
|
return
|
|
;;
|
|
--help | --usage | --delete | --modify | --add | --set | --chown | --chgrp | \
|
|
--netbiosname | --scope | --user | -!(-*)[?DMaSCGniU])
|
|
return
|
|
;;
|
|
esac
|
|
|
|
$split && return
|
|
|
|
if [[ $cur == -* ]]; then
|
|
COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
|
|
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
|
|
fi
|
|
} &&
|
|
complete -F _smbcacls smbcacls
|
|
|
|
_smbcquotas()
|
|
{
|
|
local cur prev words cword split
|
|
_init_completion -s || return
|
|
|
|
case $prev in
|
|
--configfile | --authentication-file | -!(-*)[sA])
|
|
_filedir
|
|
return
|
|
;;
|
|
--log-basename | -!(-*)l)
|
|
_filedir -d
|
|
return
|
|
;;
|
|
--debuglevel | -!(-*)d)
|
|
_samba_debuglevel
|
|
return
|
|
;;
|
|
--signing)
|
|
_samba_signing
|
|
return
|
|
;;
|
|
--help | --usage | --user | --set | -!(-*)[?UuS])
|
|
return
|
|
;;
|
|
esac
|
|
|
|
$split && return
|
|
|
|
if [[ $cur == -* ]]; then
|
|
COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
|
|
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
|
|
fi
|
|
} &&
|
|
complete -F _smbcquotas smbcquotas
|
|
|
|
_smbpasswd()
|
|
{
|
|
local cur prev words cword
|
|
_init_completion || return
|
|
|
|
case $prev in
|
|
-*r)
|
|
_samba_hosts
|
|
return
|
|
;;
|
|
-*R)
|
|
_samba_resolve_order
|
|
return
|
|
;;
|
|
-*c)
|
|
_filedir
|
|
return
|
|
;;
|
|
-*D)
|
|
_samba_debuglevel
|
|
return
|
|
;;
|
|
-*[Uhw])
|
|
return
|
|
;;
|
|
esac
|
|
|
|
if [[ $cur == -* ]]; then
|
|
COMPREPLY=($(compgen -W '$(_parse_help "$1" -h)' -- "$cur"))
|
|
fi
|
|
} &&
|
|
complete -F _smbpasswd smbpasswd
|
|
|
|
_smbtar()
|
|
{
|
|
local cur prev words cword
|
|
_init_completion || return
|
|
|
|
case $prev in
|
|
-*[rt])
|
|
_filedir tar
|
|
return
|
|
;;
|
|
-*s)
|
|
_samba_hosts
|
|
return
|
|
;;
|
|
-*l)
|
|
_samba_debuglevel
|
|
return
|
|
;;
|
|
-*N)
|
|
_filedir
|
|
return
|
|
;;
|
|
-*[pxbdu])
|
|
return
|
|
;;
|
|
esac
|
|
|
|
if [[ $cur == -* ]]; then
|
|
COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
|
|
fi
|
|
} &&
|
|
complete -F _smbtar smbtar
|
|
|
|
_smbtree()
|
|
{
|
|
local cur prev words cword split
|
|
_init_completion -s || return
|
|
|
|
case $prev in
|
|
--configfile | --authentication-file | -!(-*)[sA])
|
|
_filedir
|
|
return
|
|
;;
|
|
--log-basename | -!(-*)l)
|
|
_filedir -d
|
|
return
|
|
;;
|
|
--debuglevel | -!(-*)d)
|
|
_samba_debuglevel
|
|
return
|
|
;;
|
|
--signing | -!(-*)S)
|
|
_samba_signing
|
|
return
|
|
;;
|
|
--help | --usage | --user | -!(-*)[?U])
|
|
return
|
|
;;
|
|
esac
|
|
|
|
$split && return
|
|
|
|
if [[ $cur == -* ]]; then
|
|
COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
|
|
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
|
|
fi
|
|
} &&
|
|
complete -F _smbtree smbtree
|
|
|
|
# ex: filetype=sh
|