mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-07-29 19:18:36 -07:00
321 lines
6.9 KiB
Bash
321 lines
6.9 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
|