Sindbad~EG File Manager
# bash completion for quota-tools -*- shell-script -*-
_user_or_group()
{
local i
# complete on groups if -g was given
for (( i=1; i < cword; i++ )); do
if [[ "${words[i]}" == -@(g|-group) ]]; then
COMPREPLY=( $( compgen -g -- "$cur" ) )
return
fi
done
# otherwise complete on users
COMPREPLY=( $( compgen -u -- "$cur" ) )
}
_quota_parse_help()
{
local opts=$( _parse_help "$1" )
[[ $opts ]] || opts=$( _parse_usage "$1" ) # non-GNU?
COMPREPLY=( $( compgen -W "$opts" -- "$cur" ) )
[[ $COMPREPLY == *= ]] && compopt -o nospace
}
_quota_formats()
{
COMPREPLY=( $( compgen -W 'vfsold vfsv0 rpc xfs' -- "$cur" ) )
}
_filesystems()
{
# Only list filesystems starting with "/", otherwise we also get
#+ "binfmt_misc", "proc", "tmpfs", ...
COMPREPLY=( $( compgen -W "$(awk '/^\// {print $1}' /etc/mtab)" \
-- "$cur" ) )
}
_quota()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
-F|--format)
_quota_formats
return
;;
-h|--help|-V|--version)
return
;;
esac
$split && return
if [[ "$cur" == -* ]]; then
_quota_parse_help "$1"
else
_user_or_group
fi
} &&
complete -F _quota -o default quota
_setquota()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
-F|--format)
_quota_formats
return
;;
-p|--prototype)
_user_or_group
return
;;
-h|--help|-V|--version)
return
;;
esac
$split && return
if [[ "$cur" == -* ]]; then
_quota_parse_help "$1"
else
local args
_count_args
case $args in
1)
_user_or_group
;;
2)
_filesystems
;;
esac
fi
} &&
complete -F _setquota -o default setquota
_edquota()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
-F|--format)
_quota_formats
return
;;
-f|--filesystem)
_filesystems
return
;;
-p|--prototype)
_user_or_group
return
;;
-h|--help|-V|--version)
return
;;
esac
$split && return
if [[ "$cur" == -* ]]; then
_quota_parse_help "$1"
else
_user_or_group
fi
} &&
complete -F _edquota -o default edquota
_quotacheck()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
-F|--format)
_quota_formats
return
;;
-h|--help|-V|--version)
return
;;
esac
$split && return
if [[ "$cur" == -* ]]; then
_quota_parse_help "$1"
else
_filesystems
fi
} &&
complete -F _quotacheck -o default quotacheck repquota
_quotaon()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
-F|--format)
_quota_formats
return
;;
-x|--xfs-command)
COMPREPLY=( $( compgen -W 'delete enforce' -- "$cur" ) )
return
;;
-h|--help|-V|--version)
return
;;
esac
$split && return
if [[ "$cur" == -* ]]; then
_quota_parse_help "$1"
else
_filesystems
fi
} &&
complete -F _quotaon -o default quotaon quotaoff
# ex: filetype=sh
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists