Server IP : 85.214.239.14 / Your IP : 18.218.3.204 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/root/usr/share/bash-completion/completions/ |
Upload File : |
# 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