SHELL BYPASS 403 |
Modern UI. Responsive. Powerful.

Faizzz-Chin Shell

: /etc/bash_completion.d/ [ drwxr-xr-x ]
Uname\Kernel: Linux server.kxo.bgz.mybluehostin.me 3.10.0-1160.119.1.el7.tuxcare.els19.x86_64 #1 SMP Mon Mar 31 17:29:00 UTC 2025 x86_64
Server: Apache
PHP Version: 8.2.28 [ PHP INFO ]
Operating System: Linux
Server Ip: 162.240.163.222
Your Ip: 216.73.216.114
Date Time: 2025-07-10 11:20:14
User: dilseshaadi (1027) | Group: dilseshaadi (1027)
Safe Mode: OFF
Disable Function: exec,passthru,shell_exec,system

name : scl.bash
# main function bound to scl command
_scl()
{
  local cur prev opts
  COMPREPLY=()

  cur="${COMP_WORDS[COMP_CWORD]}"
  prev="${COMP_WORDS[COMP_CWORD-1]}"
  opts="-l --list"

  # handle options
  if [[ ${cur} == -* ]] ; then
    COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
    return 0
  fi

  local collections=($(find /etc/scl/prefixes -maxdepth 1 -mindepth 1 -type f -exec basename {} \; | sort -u))

  # handle scriptlets; the first parameter must be a scriptlet if it is not an option
  if ((COMP_CWORD == 1)); then
    # get array of scriptlets found throughout collections
    local scriptlets=()
    for col in ${collections[@]}; do
        local prefix=`cat /etc/scl/prefixes/$col`
        scriptlets+=($(find $prefix/$col/* -maxdepth 1 -type f -exec basename {} \; | sort -u))
    done
    scriptlets_str=`echo ${scriptlets[@]} | sed 's/ /\n/g'| sort -u`
    COMPREPLY=( $(compgen -W "$scriptlets_str register deregister" -- ${cur}) )
    return 0
  fi

  # handle commands; does not handle commands without single or double quotes
  if [[ ${cur} == \'* || ${cur} == \"* ]] ; then
    # it is a command do not reply with anything
    return 0
  fi

  # handle collections; if it is not an option or a command, it must be a collection
  if [ $prev == "register" ]; then
    compopt -o nospace
    COMPREPLY=( $(compgen -A directory ${cur}) )
    return 0
  fi
  COMPREPLY=( $(compgen -W "${collections[*]}" -- ${cur}) )
  return 0
}

# bind the scl command to the _scl function for completion
complete -F _scl scl
© 2025 Faizzz-Chin