CasperSecurity

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

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

_screen_sessions()
{
    local sessions=($(command screen -ls | command sed -ne \
        's|^\t\{1,\}\([0-9]\{1,\}\.[^\t]\{1,\}\).*'"$1"'.*$|\1|p'))
    if [[ $cur == +([0-9])?(.*) ]]; then
        # Complete sessions including pid prefixes
        COMPREPLY=($(compgen -W '${sessions[@]}' -- "$cur"))
    else
        # Create unique completions, dropping pids where possible
        local -A res
        local i tmp
        for i in "${sessions[@]}"; do
            res[${i/#+([0-9])./}]+=" $i"
        done
        for i in "${!res[@]}"; do
            [[ ${res[i]} == \ *\ * ]] && tmp+=" ${res[i]}" || tmp+=" $i"
        done
        COMPREPLY=($(compgen -W '$tmp' -- "$cur"))
    fi
} &&
    _screen()
    {
        local cur prev words cword
        _init_completion || return

        if ((cword == 1)); then
            if [[ $cur == /dev* ]]; then
                COMPREPLY=($(compgen -W "$(
                    shopt -s nullglob
                    printf '%s\n' \
                        /dev/serial/by-id/* /dev/ttyUSB* /dev/ttyACM* 2>/dev/null
                )" \
                    -- "$cur"))
                return
            fi
            if [[ $cur == //* ]]; then
                COMPREPLY=($(compgen -W '//telnet' -- "$cur"))
                return
            fi
        fi

        case ${words[1]} in
            /dev*)
                if ((cword == 2)); then
                    COMPREPLY=($(compgen -W '110 300 600 1200 2400 4800 9600 \
                14400 19200 38400 57600 115200 128000 256000' -- "$cur"))
                    # TODO more, comma separated options
                fi
                return
                ;;
            //telnet)
                ((cword == 2)) && _known_hosts_real -- "$cur"
                return
                ;;
        esac

        if ((cword > 2)); then
            case ${words[cword - 2]} in
                -*[dD])
                    _screen_sessions
                    return
                    ;;
            esac
        fi

        local i
        for ((i = 1; i <= cword; i++)); do
            case ${words[i]} in
                -*[rRdDxscTehpSt])
                    ((i++))
                    continue
                    ;;
                -*)
                    continue
                    ;;
            esac

            _command_offset $i
            return
        done

        case $prev in
            -*[rR])
                # list detached
                _screen_sessions 'Detached'
                return
                ;;
            -*[dD])
                # list attached
                _screen_sessions 'Attached'
                return
                ;;
            -*x)
                # list both
                _screen_sessions
                return
                ;;
            -*s)
                _shells
                return
                ;;
            -*c)
                _filedir
                return
                ;;
            -T)
                _terms
                return
                ;;
            -*[ehpSt])
                return
                ;;
        esac

        if [[ $cur == -* ]]; then
            COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
        fi
    } &&
        complete -F _screen screen

# 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