CasperSecurity

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

# bash completion for strace                               -*- shell-script -*-

_strace()
{
    local cur prev words cword
    _init_completion -n = || return

    # check if we're still completing strace
    local offset=0 i
    for ((i = 1; i <= cword; i++)); do
        case ${words[i]} in
            -o | -e | -p)
                ((i++))
                continue
                ;;
            -*)
                continue
                ;;
        esac
        offset=$i
        break
    done

    if ((offset > 0)); then
        _command_offset $offset
    else

        case $prev in
            -*e)
                if [[ $cur == *=* ]]; then
                    prev=${cur/=*/}
                    cur=${cur/*=/}

                    case $prev in
                        trace)
                            # Import arch-specific syscalls
                            #+ -- not foolproof IMHO --David Paleino
                            local define syscall rest
                            local -A syscalls
                            while read -r define syscall rest; do
                                [[ $define == "#define" && \
                                $syscall =~ ^__NR_(.+) ]] &&
                                    syscalls[${BASH_REMATCH[1]}]=1
                            done 2>/dev/null </usr/include/asm/unistd.h
                            if [[ ! $syscalls ]]; then
                                local unistd arch=$(command uname -m)
                                if [[ $arch == *86 ]]; then
                                    unistd=/usr/include/asm/unistd_32.h
                                else
                                    unistd=/usr/include/asm/unistd_64.h
                                fi
                                while read -r define syscall rest; do
                                    [[ $define == "#define" && \
                                    $syscall =~ ^__NR_(.+) ]] &&
                                        syscalls[${BASH_REMATCH[1]}]=1
                                done 2>/dev/null <$unistd
                            fi

                            COMPREPLY=($(compgen -W '${!syscalls[@]} file
                                process network signal ipc desc all none' \
                                -- "$cur"))
                            return
                            ;;
                    esac
                else
                    compopt -o nospace
                    COMPREPLY=($(compgen -S"=" -W 'trace abbrev verbose raw
                        signal read write' -- "$cur"))
                fi
                return
                ;;
            -*o)
                _filedir
                return
                ;;
            -*p)
                _pids
                return
                ;;
            -*S)
                COMPREPLY=($(compgen -W 'time calls name nothing' -- "$cur"))
                return
                ;;
            -*u)
                _allowed_users
                return
                ;;
        esac

        if [[ $cur == -* ]]; then
            COMPREPLY=($(compgen -W '$(_parse_help "$1" -h)' -- "$cur"))
        else
            COMPREPLY=($(compgen -c -- "$cur"))
        fi
    fi
} &&
    complete -F _strace -o default strace

# 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