CasperSecurity

Current Path : /usr/share/bash-completion/completions/
Upload File :
Current File : //usr/share/bash-completion/completions/find

# bash completion for GNU find                             -*- shell-script -*-
# This makes heavy use of ksh style extended globs and contains Linux specific
# code for completing the parameter to the -fstype option.

_find()
{
    local cur prev words cword
    _init_completion || return

    local i
    for i in ${!words[*]}; do
        if [[ ${words[i]} == -@(exec|ok)?(dir) ]]; then
            _command_offset $((i + 1))
            return
        fi
    done

    case $prev in
        -maxdepth | -mindepth)
            COMPREPLY=($(compgen -W '{0..9}' -- "$cur"))
            return
            ;;
        -newer | -anewer | -cnewer | -fls | -fprint | -fprint0 | -fprintf | -name | -[il]name | \
            -ilname | -wholename | -[il]wholename | -samefile)
            _filedir
            return
            ;;
        -fstype)
            _fstypes
            [[ $OSTYPE == *bsd* ]] &&
                COMPREPLY+=($(compgen -W 'local rdonly' -- "$cur"))
            return
            ;;
        -gid)
            _gids
            return
            ;;
        -group)
            COMPREPLY=($(compgen -g -- "$cur" 2>/dev/null))
            return
            ;;
        -xtype | -type)
            COMPREPLY=($(compgen -W 'b c d p f l s' -- "$cur"))
            return
            ;;
        -uid)
            _uids
            return
            ;;
        -user)
            COMPREPLY=($(compgen -u -- "$cur"))
            return
            ;;
        -[acm]min | -[acm]time | -inum | -path | -ipath | -regex | -iregex | -links | -perm | \
            -size | -used | -printf | -context)
            # do nothing, just wait for a parameter to be given
            return
            ;;
        -regextype)
            COMPREPLY=($(compgen -W 'emacs posix-awk posix-basic posix-egrep
                posix-extended' -- "$cur"))
            return
            ;;
    esac

    local i exprfound=false
    # set exprfound to true if there is already an expression present
    for i in "${words[@]}"; do
        [[ $i == [-\(\),\!]* ]] && exprfound=true && break
    done

    # handle case where first parameter is not a dash option
    if ! $exprfound && [[ $cur != [-\(\),\!]* ]]; then
        _filedir -d
        return
    fi

    # complete using basic options
    COMPREPLY=($(compgen -W '-daystart -depth -follow -help
        -ignore_readdir_race -maxdepth -mindepth -mindepth -mount
        -noignore_readdir_race -noleaf -regextype -version -warn -nowarn -xdev
        -amin -anewer -atime -cmin -cnewer -ctime -empty -executable -false
        -fstype -gid -group -ilname -iname -inum -ipath -iregex -iwholename
        -links -lname -mmin -mtime -name -newer -nogroup -nouser -path -perm
        -readable -regex -samefile -size -true -type -uid -used -user
        -wholename -writable -xtype -context -delete -exec -execdir -fls
        -fprint -fprint0 -fprintf -ls -ok -okdir -print -print0 -printf -prune
        -quit' -- "$cur"))

    if ((${#COMPREPLY[@]} != 0)); then
        # this removes any options from the list of completions that have
        # already been specified somewhere on the command line, as long as
        # these options can only be used once (in a word, "options", in
        # opposition to "tests" and "actions", as in the find(1) manpage).
        local -A onlyonce=([-daystart]=1 [-depth]=1 [-follow]=1 [-help]=1
            [-ignore_readdir_race]=1 [-maxdepth]=1 [-mindepth]=1 [-mount]=1
            [-noignore_readdir_race]=1 [-noleaf]=1 [-nowarn]=1 [-regextype]=1
            [-version]=1 [-warn]=1 [-xdev]=1)
        local j
        for i in "${words[@]}"; do
            [[ $i && -v onlyonce["$i"] ]] || continue
            for j in "${!COMPREPLY[@]}"; do
                [[ ${COMPREPLY[j]} == "$i" ]] && unset 'COMPREPLY[j]'
            done
        done
    fi

    _filedir

} &&
    complete -F _find find

# ex: filetype=sh
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY