List of reports associated
Test name:Version: 7.2.22
Goto: PHPInfo Build environment
PHPInfo
phpinfo() PHP Version => 7.2.22 System => Linux b3 2.6.39.4-11 #1 Tue Apr 3 21:45:12 FET 2012 armv5tel Build Date => Sep 22 2019 20:43:48 Configure Command => './configure' '--with-apxs2=/usr/bin/apxs2' '--with-mysqli' '--enable-mysqlnd' '--with-openssl' '--prefix=/usr/local' '--enable-phpdbg' '--with-pcre-regex' '--with-curl' '--with-zlib' '--enable-bcmath' '--with-gd' '--with-pear' Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => /usr/local/lib Loaded Configuration File => (none) Scan this dir for additional .ini files => (none) Additional .ini files parsed => (none) PHP API => 20170718 PHP Extension => 20170718 Zend Extension => 320170718 Zend Extension Build => API320170718,NTS PHP Extension Build => API20170718,NTS Debug Build => no Thread Safety => disabled Zend Signal Handling => enabled Zend Memory Manager => enabled Zend Multibyte Support => disabled IPv6 Support => enabled DTrace Support => disabled Registered PHP Streams => https, ftps, compress.zlib, php, file, glob, data, http, ftp, phar Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2 Registered Stream Filters => zlib.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk This program makes use of the Zend Scripting Language Engine: Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies _______________________________________________________________________ Configuration bcmath BCMath support => enabled Directive => Local Value => Master Value bcmath.scale => 0 => 0 Core PHP Version => 7.2.22 Directive => Local Value => Master Value allow_url_fopen => On => On allow_url_include => Off => Off arg_separator.input => & => & arg_separator.output => & => & auto_append_file => no value => no value auto_globals_jit => On => On auto_prepend_file => no value => no value browscap => no value => no value default_charset => UTF-8 => UTF-8 default_mimetype => text/html => text/html disable_classes => no value => no value disable_functions => no value => no value display_errors => STDERR => STDERR display_startup_errors => Off => Off doc_root => no value => no value docref_ext => no value => no value docref_root => no value => no value enable_dl => On => On enable_post_data_reading => On => On error_append_string => no value => no value error_log => no value => no value error_prepend_string => no value => no value error_reporting => no value => no value expose_php => On => On extension_dir => /usr/local/lib/php/extensions/no-debug-non-zts-20170718 => /usr/local/lib/php/extensions/no-debug-non-zts-20170718 file_uploads => On => On hard_timeout => 2 => 2 highlight.comment => <font style="color: #FF8000">#FF8000</font> => <font style="color: #FF8000">#FF8000</font> highlight.default => <font style="color: #0000BB">#0000BB</font> => <font style="color: #0000BB">#0000BB</font> highlight.html => <font style="color: #000000">#000000</font> => <font style="color: #000000">#000000</font> highlight.keyword => <font style="color: #007700">#007700</font> => <font style="color: #007700">#007700</font> highlight.string => <font style="color: #DD0000">#DD0000</font> => <font style="color: #DD0000">#DD0000</font> html_errors => Off => Off ignore_repeated_errors => Off => Off ignore_repeated_source => Off => Off ignore_user_abort => Off => Off implicit_flush => On => On include_path => .:/usr/local/lib/php => .:/usr/local/lib/php input_encoding => no value => no value internal_encoding => no value => no value log_errors => Off => Off log_errors_max_len => 1024 => 1024 mail.add_x_header => Off => Off mail.force_extra_parameters => no value => no value mail.log => no value => no value max_execution_time => 0 => 0 max_file_uploads => 20 => 20 max_input_nesting_level => 64 => 64 max_input_time => -1 => -1 max_input_vars => 1000 => 1000 memory_limit => 128M => 128M open_basedir => no value => no value output_buffering => 0 => 0 output_encoding => no value => no value output_handler => no value => no value post_max_size => 8M => 8M precision => 14 => 14 realpath_cache_size => 4096K => 4096K realpath_cache_ttl => 120 => 120 register_argc_argv => On => On report_memleaks => On => On report_zend_debug => Off => Off request_order => no value => no value sendmail_from => no value => no value sendmail_path => /usr/sbin/sendmail -t -i => /usr/sbin/sendmail -t -i serialize_precision => -1 => -1 short_open_tag => On => On SMTP => localhost => localhost smtp_port => 25 => 25 sys_temp_dir => no value => no value track_errors => Off => Off unserialize_callback_func => no value => no value upload_max_filesize => 2M => 2M upload_tmp_dir => no value => no value user_dir => no value => no value user_ini.cache_ttl => 300 => 300 user_ini.filename => .user.ini => .user.ini variables_order => EGPCS => EGPCS xmlrpc_error_number => 0 => 0 xmlrpc_errors => Off => Off zend.assertions => 1 => 1 zend.detect_unicode => On => On zend.enable_gc => On => On zend.multibyte => Off => Off zend.script_encoding => no value => no value zend.signal_check => Off => Off ctype ctype functions => enabled curl cURL support => enabled cURL Information => 7.66.0 Age => 5 Features AsynchDNS => Yes CharConv => No Debug => No GSS-Negotiate => No IDN => No IPv6 => Yes krb4 => No Largefile => Yes libz => Yes NTLM => Yes NTLMWB => Yes SPNEGO => No SSL => Yes SSPI => No TLS-SRP => Yes HTTP2 => No GSSAPI => No KERBEROS5 => No UNIX_SOCKETS => Yes PSL => No Protocols => dict, file, ftp, ftps, gopher, http, https, imap, imaps, pop3, pop3s, rtsp, smb, smbs, smtp, smtps, telnet, tftp Host => armv5tel-unknown-linux-gnueabi SSL Version => OpenSSL/1.1.0h ZLib Version => 1.2.3.4 date date/time support => enabled timelib version => 2017.09 "Olson" Timezone Database Version => 2018.9 Timezone Database => internal Default timezone => UTC Directive => Local Value => Master Value date.default_latitude => 31.7667 => 31.7667 date.default_longitude => 35.2333 => 35.2333 date.sunrise_zenith => 90.583333 => 90.583333 date.sunset_zenith => 90.583333 => 90.583333 date.timezone => no value => no value dom DOM/XML => enabled DOM/XML API Version => 20031129 libxml Version => 2.7.8 HTML Support => enabled XPath Support => enabled XPointer Support => enabled Schema Support => enabled RelaxNG Support => enabled fileinfo fileinfo support => enabled version => 1.0.5 libmagic => 531 filter Input Validation and Filtering => enabled Revision => $Id: 5a34caaa246b9df197f4b43af8ac66a07464fe4b $ Directive => Local Value => Master Value filter.default => unsafe_raw => unsafe_raw filter.default_flags => no value => no value gd GD Support => enabled GD Version => bundled (2.1.0 compatible) GIF Read Support => enabled GIF Create Support => enabled PNG Support => enabled libPNG Version => 1.2.44 WBMP Support => enabled XBM Support => enabled Directive => Local Value => Master Value gd.jpeg_ignore_warning => 1 => 1 hash hash support => enabled Hashing Engines => md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b fnv132 fnv1a32 fnv164 fnv1a64 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5 iconv iconv support => enabled iconv implementation => glibc iconv library version => 2.11.3 Directive => Local Value => Master Value iconv.input_encoding => no value => no value iconv.internal_encoding => no value => no value iconv.output_encoding => no value => no value json json support => enabled json version => 1.6.0 libxml libXML support => active libXML Compiled Version => 2.7.8 libXML Loaded Version => 20708 libXML streams => enabled mysqli MysqlI Support => enabled Client API library version => mysqlnd 5.0.12-dev - 20150407 - $Id: 3591daad22de08524295e1bd073aceeff11e6579 $ Active Persistent Links => 0 Inactive Persistent Links => 0 Active Links => 0 Directive => Local Value => Master Value mysqli.allow_local_infile => Off => Off mysqli.allow_persistent => On => On mysqli.default_host => no value => no value mysqli.default_port => 3306 => 3306 mysqli.default_pw => no value => no value mysqli.default_socket => no value => no value mysqli.default_user => no value => no value mysqli.max_links => Unlimited => Unlimited mysqli.max_persistent => Unlimited => Unlimited mysqli.reconnect => Off => Off mysqli.rollback_on_cached_plink => Off => Off mysqlnd mysqlnd => enabled Version => mysqlnd 5.0.12-dev - 20150407 - $Id: 3591daad22de08524295e1bd073aceeff11e6579 $ Compression => supported core SSL => supported extended SSL => supported Command buffer size => 4096 Read buffer size => 32768 Read timeout => 86400 Collecting statistics => Yes Collecting memory statistics => No Tracing => n/a Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password API Extensions => mysqli mysqlnd statistics => bytes_sent => 0 bytes_received => 0 packets_sent => 0 packets_received => 0 protocol_overhead_in => 0 protocol_overhead_out => 0 bytes_received_ok_packet => 0 bytes_received_eof_packet => 0 bytes_received_rset_header_packet => 0 bytes_received_rset_field_meta_packet => 0 bytes_received_rset_row_packet => 0 bytes_received_prepare_response_packet => 0 bytes_received_change_user_packet => 0 packets_sent_command => 0 packets_received_ok => 0 packets_received_eof => 0 packets_received_rset_header => 0 packets_received_rset_field_meta => 0 packets_received_rset_row => 0 packets_received_prepare_response => 0 packets_received_change_user => 0 result_set_queries => 0 non_result_set_queries => 0 no_index_used => 0 bad_index_used => 0 slow_queries => 0 buffered_sets => 0 unbuffered_sets => 0 ps_buffered_sets => 0 ps_unbuffered_sets => 0 flushed_normal_sets => 0 flushed_ps_sets => 0 ps_prepared_never_executed => 0 ps_prepared_once_executed => 0 rows_fetched_from_server_normal => 0 rows_fetched_from_server_ps => 0 rows_buffered_from_client_normal => 0 rows_buffered_from_client_ps => 0 rows_fetched_from_client_normal_buffered => 0 rows_fetched_from_client_normal_unbuffered => 0 rows_fetched_from_client_ps_buffered => 0 rows_fetched_from_client_ps_unbuffered => 0 rows_fetched_from_client_ps_cursor => 0 rows_affected_normal => 0 rows_affected_ps => 0 rows_skipped_normal => 0 rows_skipped_ps => 0 copy_on_write_saved => 0 copy_on_write_performed => 0 command_buffer_too_small => 0 connect_success => 0 connect_failure => 0 connection_reused => 0 reconnect => 0 pconnect_success => 0 active_connections => 0 active_persistent_connections => 0 explicit_close => 0 implicit_close => 0 disconnect_close => 0 in_middle_of_command_close => 0 explicit_free_result => 0 implicit_free_result => 0 explicit_stmt_close => 0 implicit_stmt_close => 0 mem_emalloc_count => 0 mem_emalloc_amount => 0 mem_ecalloc_count => 0 mem_ecalloc_amount => 0 mem_erealloc_count => 0 mem_erealloc_amount => 0 mem_efree_count => 0 mem_efree_amount => 0 mem_malloc_count => 0 mem_malloc_amount => 0 mem_calloc_count => 0 mem_calloc_amount => 0 mem_realloc_count => 0 mem_realloc_amount => 0 mem_free_count => 0 mem_free_amount => 0 mem_estrndup_count => 0 mem_strndup_count => 0 mem_estrdup_count => 0 mem_strdup_count => 0 mem_edupl_count => 0 mem_dupl_count => 0 proto_text_fetched_null => 0 proto_text_fetched_bit => 0 proto_text_fetched_tinyint => 0 proto_text_fetched_short => 0 proto_text_fetched_int24 => 0 proto_text_fetched_int => 0 proto_text_fetched_bigint => 0 proto_text_fetched_decimal => 0 proto_text_fetched_float => 0 proto_text_fetched_double => 0 proto_text_fetched_date => 0 proto_text_fetched_year => 0 proto_text_fetched_time => 0 proto_text_fetched_datetime => 0 proto_text_fetched_timestamp => 0 proto_text_fetched_string => 0 proto_text_fetched_blob => 0 proto_text_fetched_enum => 0 proto_text_fetched_set => 0 proto_text_fetched_geometry => 0 proto_text_fetched_other => 0 proto_binary_fetched_null => 0 proto_binary_fetched_bit => 0 proto_binary_fetched_tinyint => 0 proto_binary_fetched_short => 0 proto_binary_fetched_int24 => 0 proto_binary_fetched_int => 0 proto_binary_fetched_bigint => 0 proto_binary_fetched_decimal => 0 proto_binary_fetched_float => 0 proto_binary_fetched_double => 0 proto_binary_fetched_date => 0 proto_binary_fetched_year => 0 proto_binary_fetched_time => 0 proto_binary_fetched_datetime => 0 proto_binary_fetched_timestamp => 0 proto_binary_fetched_string => 0 proto_binary_fetched_json => 0 proto_binary_fetched_blob => 0 proto_binary_fetched_enum => 0 proto_binary_fetched_set => 0 proto_binary_fetched_geometry => 0 proto_binary_fetched_other => 0 init_command_executed_count => 0 init_command_failed_count => 0 com_quit => 0 com_init_db => 0 com_query => 0 com_field_list => 0 com_create_db => 0 com_drop_db => 0 com_refresh => 0 com_shutdown => 0 com_statistics => 0 com_process_info => 0 com_connect => 0 com_process_kill => 0 com_debug => 0 com_ping => 0 com_time => 0 com_delayed_insert => 0 com_change_user => 0 com_binlog_dump => 0 com_table_dump => 0 com_connect_out => 0 com_register_slave => 0 com_stmt_prepare => 0 com_stmt_execute => 0 com_stmt_send_long_data => 0 com_stmt_close => 0 com_stmt_reset => 0 com_stmt_set_option => 0 com_stmt_fetch => 0 com_deamon => 0 bytes_received_real_data_normal => 0 bytes_received_real_data_ps => 0 openssl OpenSSL support => enabled OpenSSL Library Version => OpenSSL 1.1.0h 27 Mar 2018 OpenSSL Header Version => OpenSSL 1.1.0h 27 Mar 2018 Openssl default config => /usr/local/ssl/openssl.cnf Directive => Local Value => Master Value openssl.cafile => no value => no value openssl.capath => no value => no value pcre PCRE (Perl Compatible Regular Expressions) Support => enabled PCRE Library Version => 8.41 2017-07-05 PCRE JIT Support => enabled Directive => Local Value => Master Value pcre.backtrack_limit => 1000000 => 1000000 pcre.jit => 1 => 1 pcre.recursion_limit => 100000 => 100000 PDO PDO support => enabled PDO drivers => sqlite pdo_sqlite PDO Driver for SQLite 3.x => enabled SQLite Library => 3.28.0 Phar Phar: PHP Archive support => enabled Phar EXT version => 2.0.2 Phar API version => 1.1.1 SVN revision => $Id: f1155e62742ca367e521a3e412667d8ee34eead9 $ Phar-based phar archives => enabled Tar-based phar archives => enabled ZIP-based phar archives => enabled gzip compression => enabled bzip2 compression => disabled (install pecl/bz2) Native OpenSSL support => enabled Phar based on pear/PHP_Archive, original concept by Davey Shafik. Phar fully realized by Gregory Beaver and Marcus Boerger. Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle. Directive => Local Value => Master Value phar.cache_list => no value => no value phar.readonly => On => On phar.require_hash => On => On posix Revision => $Id: 0a764bab332255746424a1e6cfbaaeebab998e4c $ Reflection Reflection => enabled Version => $Id: 012f23982d9d94728b4da252b9f21f9de8afd4df $ session Session Support => enabled Registered save handlers => files user Registered serializer handlers => php_serialize php php_binary Directive => Local Value => Master Value session.auto_start => Off => Off session.cache_expire => 180 => 180 session.cache_limiter => nocache => nocache session.cookie_domain => no value => no value session.cookie_httponly => 0 => 0 session.cookie_lifetime => 0 => 0 session.cookie_path => / => / session.cookie_secure => 0 => 0 session.gc_divisor => 100 => 100 session.gc_maxlifetime => 1440 => 1440 session.gc_probability => 1 => 1 session.lazy_write => On => On session.name => PHPSESSID => PHPSESSID session.referer_check => no value => no value session.save_handler => files => files session.save_path => no value => no value session.serialize_handler => php => php session.sid_bits_per_character => 4 => 4 session.sid_length => 32 => 32 session.upload_progress.cleanup => On => On session.upload_progress.enabled => On => On session.upload_progress.freq => 1% => 1% session.upload_progress.min_freq => 1 => 1 session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS session.upload_progress.prefix => upload_progress_ => upload_progress_ session.use_cookies => 1 => 1 session.use_only_cookies => 1 => 1 session.use_strict_mode => 0 => 0 session.use_trans_sid => 0 => 0 SimpleXML Simplexml support => enabled Revision => $Id: 341daed0ee94ea8f728bfd0ba4626e6ed365c0d1 $ Schema support => enabled SPL SPL support => enabled Interfaces => OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException sqlite3 SQLite3 support => enabled SQLite3 module version => 7.2.22 SQLite Library => 3.28.0 Directive => Local Value => Master Value sqlite3.defensive => 1 => 1 sqlite3.extension_dir => no value => no value standard Dynamic Library Support => enabled Path to sendmail => /usr/sbin/sendmail -t -i Directive => Local Value => Master Value assert.active => 1 => 1 assert.bail => 0 => 0 assert.callback => no value => no value assert.exception => 0 => 0 assert.quiet_eval => 0 => 0 assert.warning => 1 => 1 auto_detect_line_endings => 0 => 0 default_socket_timeout => 60 => 60 from => no value => no value session.trans_sid_hosts => no value => no value session.trans_sid_tags => a=href,area=href,frame=src,form= => a=href,area=href,frame=src,form= url_rewriter.hosts => no value => no value url_rewriter.tags => form= => form= user_agent => no value => no value tokenizer Tokenizer Support => enabled xml XML Support => active XML Namespace Support => active libxml2 Version => 2.7.8 xmlreader XMLReader => enabled xmlwriter XMLWriter => enabled zlib ZLib Support => enabled Stream Wrapper => compress.zlib:// Stream Filter => zlib.inflate, zlib.deflate Compiled Version => 1.2.3.4 Linked Version => 1.2.3.4 Directive => Local Value => Master Value zlib.output_compression => Off => Off zlib.output_compression_level => -1 => -1 zlib.output_handler => no value => no value Additional Modules Module Name Environment Variable => Value fitline => () { if (( $# )); then cut -c 1-$COLUMNS <<< "$*"; else cut -c 1-$COLUMNS; fi } _tilde => () { local result=0; if [[ $1 == \~* && $1 != */* ]]; then COMPREPLY=($( compgen -P '~' -u "${1#\~}" )); result=${#COMPREPLY[@]}; [[ $result -gt 0 ]] && compopt -o filenames 2> /dev/null; fi; return $result } DIR_COLORS => /opt/etc/common/DIR_COLORS LESSOPEN => | /usr/bin/lesspipe %s _realcommand => () { type -P "$1" > /dev/null && { if type -p realpath > /dev/null; then realpath "$(type -P "$1")"; else if type -p greadlink > /dev/null; then greadlink -f "$(type -P "$1")"; else if type -p readlink > /dev/null; then readlink -f "$(type -P "$1")"; else type -P "$1"; fi; fi; fi } } _count_args => () { local i cword words; __reassemble_comp_words_by_ref "$1" words cword; args=1; for i in "${words[@]:1:cword-1}"; do [[ "$i" != -* ]] && args=$(($args+1)); done } HISTTIMEFORMAT => %d %h %H:%M > INPUTRC => /opt/etc/common/inputrc PERLBREW_VERSION => 0.82 mc => () { mkdir -p ~/.cache/mc; declare _pwd=~/.cache/mc/pwd.$$; command mc "$@" -x -P "$_pwd"; pushd "$(cat "$_pwd")"; rm -f "$_pwd" } USER => sesc SSH_CLIENT => deleted MAIL => /var/mail/sesc _kernel_versions => () { COMPREPLY=($( compgen -W '$( command ls /lib/modules )' -- "$cur" )) } _configure => () { local cur prev words cword split; _init_completion -s || return; case $prev in -h | --help | -V | --version | --program-prefix | --program-suffix | --program-transform-name) return ;; --*file) _filedir; return ;; --*prefix | --*dir) _filedir -d; return ;; esac; $split && return 0; [[ "$cur" != -* ]] && return 0; if [[ -n $COMP_CONFIGURE_HINTS ]]; then COMPREPLY=($( compgen -W "$( $1 --help 2>&1 | awk '/^ --[A-Za-z]/ { print $1; \ if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,].*//g' )" -- "$cur" )); [[ $COMPREPLY == *=* ]] && compopt -o nospace; else COMPREPLY=($( compgen -W '$( _parse_help "$1" )' -- "$cur" )); [[ $COMPREPLY == *= ]] && compopt -o nospace; fi } _shells => () { local shell rest; while read -r shell rest; do [[ $shell == /* && $shell == "$cur"* ]] && COMPREPLY+=($shell); done 2> /dev/null < /etc/shells } cs => () { cd -- "$1"; shift; LANG=C command ls -A -N -v --color=auto --group-directories-first --show-control-chars --time-style=long-iso "$@" } type => () { declare cmd is what; builtin type "$@" | while read cmd is what; do if [[ $what == /* ]] && [[ -L $what ]]; then declare where="$(realpath "$what")"; echo "$cmd $is $what -> $where"; else echo "$cmd $is $what"; fi; done; return ${PIPESTATUS[0]} } _pgids => () { COMPREPLY=($( compgen -W '$( command ps axo pgid= )' -- "$cur" )) } SHLVL => 3 HISTIGNORE => &:bg:fg:eh:exit:l:mc LD_LIBRARY_PATH => /usr/local/lib _usergroup => () { if [[ $cur = *\\\\* || $cur = *:*:* ]]; then return; else if [[ $cur = *\\:* ]]; then local prefix; prefix=${cur%%*([^:])}; prefix=${prefix//\\}; local mycur="${cur#*[:]}"; if [[ $1 == -u ]]; then _allowed_groups "$mycur"; else local IFS=' '; COMPREPLY=($( compgen -g -- "$mycur" )); fi; COMPREPLY=($( compgen -P "$prefix" -W "${COMPREPLY[@]}" )); else if [[ $cur = *:* ]]; then local mycur="${cur#*:}"; if [[ $1 == -u ]]; then _allowed_groups "$mycur"; else local IFS=' '; COMPREPLY=($( compgen -g -- "$mycur" )); fi; else if [[ $1 == -u ]]; then _allowed_users "$cur"; else local IFS=' '; COMPREPLY=($( compgen -u -- "$cur" )); fi; fi; fi; fi } _allowed_groups => () { if _complete_as_root; then local IFS=' '; COMPREPLY=($( compgen -g -- "$1" )); else local IFS=' '; COMPREPLY=($( compgen -W "$( id -Gn 2>/dev/null || groups 2>/dev/null )" -- "$1" )); fi } _pci_ids => () { COMPREPLY+=($( compgen -W "$( PATH="$PATH:/sbin" lspci -n | awk '{print $3}')" -- "$cur" )) } LESS => MNRSX~#8 HOME => /home/sesc TEST_PHP_SRCDIR => /srv/_tmp_/php-7.2.22 perlbrew => () { local exit_status; local short_option; export SHELL; if [[ $1 == -* ]]; then short_option=$1; shift; else short_option=""; fi; case $1 in use) if [[ -z "$2" ]]; then echo -n "Currently using ${PERLBREW_PERL:-system perl}"; [ -n "$PERLBREW_LIB" ] && echo -n "@$PERLBREW_LIB"; echo; else __perlbrew_set_env "$2" && { __perlbrew_set_path; true }; exit_status="$?"; fi ;; switch) if [[ -z "$2" ]]; then command perlbrew switch; else perlbrew use $2 && { __perlbrew_reinit $2; true }; exit_status=$?; fi ;; off) __perlbrew_deactivate; echo "perlbrew is turned off." ;; switch-off) __perlbrew_deactivate; __perlbrew_reinit; echo "perlbrew is switched off." ;; *) command perlbrew $short_option "$@"; exit_status=$? ;; esac; hash -r; return ${exit_status:-0} } _longopt => () { local cur prev words cword split; _init_completion -s || return; case "${prev,,}" in --help | --usage | --version) return 0 ;; --*dir*) _filedir -d; return 0 ;; --*file* | --*path*) _filedir; return 0 ;; --[-a-z0-9_]*) local argtype=$( $1 --help 2>&1 | sed -ne "s|.*$prev\[\{0,1\}=[<[]\{0,1\}\([-A-Za-z0-9_]\{1,\}\).*|\1|p" ); case ${argtype,,} in *dir*) _filedir -d; return 0 ;; *file* | *path*) _filedir; return 0 ;; esac ;; esac; $split && return 0; if [[ "$cur" == -* ]]; then COMPREPLY=($( compgen -W "$( $1 --help 2>&1 | sed -ne 's/.*\(--[-A-Za-z0-9]\{1,\}=\{0,1\}\).*/\1/p' | sort -u )" -- "$cur" )); [[ $COMPREPLY == *= ]] && compopt -o nospace; else if [[ "$1" == @(mk|rm)dir ]]; then _filedir -d; else _filedir; fi; fi } _have => () { PATH=$PATH:/usr/sbin:/sbin:/usr/local/sbin type $1 &>/dev/null } DOMAIN => private SSH_TTY => deleted XDG_SESSION_COOKIE => a29b99f728c019650775c7380000000b-1565023390.191277-473494929 _quote_readline_by_ref => () { if [[ $1 == \'* ]]; then printf -v $2 %s "${1:1}"; else printf -v $2 %q "$1"; fi; [[ ${!2} == \$* ]] && eval $2=${!2} } df => () { echo; command df -h "$@"; echo } __perlbrew_reinit => () { if [[ ! -d "$PERLBREW_HOME" ]]; then mkdir -p -p "$PERLBREW_HOME"; fi; echo '# DO NOT EDIT THIS FILE' > "$PERLBREW_HOME/init"; command perlbrew env $1 | \grep PERLBREW_ >> "$PERLBREW_HOME/init"; . "$PERLBREW_HOME/init"; __perlbrew_set_path } PERL_CPANM_OPT => --skip-installed --notest --auto-cleanup=0 GLOBIGNORE => . PERLBREW_ROOT => /usr/local/perlbrew PAGER => less _filedir => () { local i IFS=' ' xspec; _tilde "$cur" || return 0; local -a toks; local quoted x tmp; _quote_readline_by_ref "$cur" quoted; x=$( compgen -d -- "$quoted" ) && while read -r tmp; do toks+=("$tmp"); done <<< "$x"; if [[ "$1" != -d ]]; then xspec=${1:+"!*.@($1|${1^^})"}; x=$( compgen -f -X "$xspec" -- $quoted ) && while read -r tmp; do toks+=("$tmp"); done <<< "$x"; fi; [[ -n ${COMP_FILEDIR_FALLBACK:-} && -n "$1" && "$1" != -d && ${#toks[@]} -lt 1 ]] && x=$( compgen -f -- $quoted ) && while read -r tmp; do toks+=("$tmp"); done <<< "$x"; if [[ ${#toks[@]} -ne 0 ]]; then compopt -o filenames 2> /dev/null; COMPREPLY+=("${toks[@]}"); fi } _command => () { local offset i; offset=1; for ((i=1; i <= COMP_CWORD; i++ )) do if [[ "${COMP_WORDS[i]}" != -* ]]; then offset=$i; break; fi; done; _command_offset $offset } _gids => () { if type getent &>/dev/null; then COMPREPLY=($( compgen -W '$( getent group | cut -d: -f3 )' -- "$cur" )); else if type perl &>/dev/null; then COMPREPLY=($( compgen -W '$( perl -e '"'"'while (($gid) = (getgrent)[2]) { print $gid . "\n" }'"'"' )' -- "$cur" )); else COMPREPLY=($( compgen -W '$( cut -d: -f3 /etc/group )' -- "$cur" )); fi; fi } _command_offset => () { local word_offset=$1 i j; for ((i=0; i < $word_offset; i++ )) do for ((j=0; j <= ${#COMP_LINE}; j++ )) do [[ "$COMP_LINE" == "${COMP_WORDS[i]}"* ]] && break; COMP_LINE=${COMP_LINE:1}; ((COMP_POINT--)); done; COMP_LINE=${COMP_LINE#"${COMP_WORDS[i]}"}; ((COMP_POINT-=${#COMP_WORDS[i]})); done; for ((i=0; i <= COMP_CWORD - $word_offset; i++ )) do COMP_WORDS[i]=${COMP_WORDS[i+$word_offset]}; done; for ((i; i <= COMP_CWORD; i++ )) do unset COMP_WORDS[i]; done; ((COMP_CWORD -= $word_offset)); COMPREPLY=(); local cur; _get_comp_words_by_ref cur; if [[ $COMP_CWORD -eq 0 ]]; then local IFS=' '; compopt -o filenames; COMPREPLY=($( compgen -d -c -- "$cur" )); else local cmd=${COMP_WORDS[0]} compcmd=${COMP_WORDS[0]}; local cspec=$( complete -p $cmd 2>/dev/null ); if [[ ! -n $cspec && $cmd == */* ]]; then cspec=$( complete -p ${cmd##*/} 2>/dev/null ); [[ -n $cspec ]] && compcmd=${cmd##*/}; fi; if [[ ! -n $cspec ]]; then compcmd=${cmd##*/}; _completion_loader $compcmd; cspec=$( complete -p $compcmd 2>/dev/null ); fi; if [[ -n $cspec ]]; then if [[ ${cspec#* -F } != $cspec ]]; then local func=${cspec#*-F }; func=${func%% *}; if [[ ${#COMP_WORDS[@]} -ge 2 ]]; then $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}" "${COMP_WORDS[${#COMP_WORDS[@]}-2]}"; else $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}"; fi; local opt t; while true; do t=${cspec#*-o }; if [[ $t == $cspec ]]; then break; fi; opt=${t%% *}; compopt -o $opt; cspec=${t#$opt}; done; else cspec=${cspec#complete}; cspec=${cspec%%$compcmd}; COMPREPLY=($( eval compgen "$cspec" -- '$cur' )); fi; else if [[ ${#COMPREPLY[@]} -eq 0 ]]; then _minimal; fi; fi; fi } _complete_as_root => () { [[ $EUID -eq 0 || -n ${root_command:-} ]] } __perlbrew_activate => () { [[ -n $(alias perl 2>/dev/null) ]] && unalias perl 2> /dev/null; if [[ -n "$PERLBREW_PERL" ]]; then __perlbrew_set_env "$PERLBREW_PERL${PERLBREW_LIB:+@}$PERLBREW_LIB"; fi; __perlbrew_set_path } _root_command => () { local PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin; local root_command=$1; _command } PERLBREW_MANPATH => /usr/local/perlbrew/perls/perl-5.24.0/man MAKEFLAGS => xtitle => () { (( $# )) || { sh2help -s XTITLE "$BASH_SOURCE"; return 130 }; if [[ $1 == -s ]]; then SCREEN=1; shift; fi; : ${PS1X:=$PS1}; if [[ $TERM == screen* ]] && (( SCREEN )); then printf "\033k%s\033\\" "$*"; else printf "\033]0;%s\007" "$*"; export PS1="${PS1X/]0;/]0;${*} }"; fi } _get_pword => () { if [[ $COMP_CWORD -ge 1 ]]; then _get_cword "${@:-}" 1; fi } _color => () { [[ -z $TERM || $TERM == dumb ]] && return; declare _arg _bracket=0 _code _color _pre=0 _res _var OPTIND=1; while getopts "bpv:-h" _arg; do case $_arg in b) _bracket=1 ;; p) _pre=1 ;; v) _var="$OPTARG" ;; -) break ;; h) sh2help "$BASH_SOURCE"; return 130 ;; *) echo "_color: $_arg: internal error"; return 10 ;; esac; done; shift $((OPTIND-1)); _color="$1"; case "$_color" in bright* | light* | b? | l?) _code="1;" ;; *) _code="0;" ;; esac; case "$_color" in *black | k | ?k | darkgrey | darkgray) _code="${_code}30" ;; *red | r | ?r) _code="${_code}31" ;; *green | g | ?g) _code="${_code}32" ;; yellow | y) _code="1;33" ;; brown | n | dy) _code="0;33" ;; *blue | b | ?b) _code="${_code}34" ;; *magenta | *pink | m | ?m) _code="${_code}35" ;; *cyan | c | ?c) _code="${_code}36" ;; grey | gray | dw) _code="0;37" ;; white | w) _code="1;37" ;; inverse | inv) _code="7" ;; any | '*') _code="" ;; *) _code="0" ;; esac; [[ -n "$_code" ]] && _res="\e[${_code}m"; shift; [[ $1 == on ]] && shift; _color="$1"; case "$_color" in *black | k) _code="40" ;; *red | r) _code="41" ;; *green | g) _code="42" ;; yellow | y | brown | n) _code="43" ;; *blue | b) _code="44" ;; *magenta | *pink | m) _code="45" ;; *cyan | c) _code="46" ;; grey | gray | white | w) _code="47" ;; any | '*') _code="" ;; *) _code="0" ;; esac; [[ -n "$_code" ]] && _res="\e[${_code}m${_res}"; (( _bracket )) && _res="\[${_res}\]"; if [[ -z "$_var" ]]; then echo -en "$_res"; return; fi; if (( _pre )); then export $_var="${_res}${!_var}"; else export $_var="${!_var}${_res}"; fi } _allowed_users => () { if _complete_as_root; then local IFS=' '; COMPREPLY=($( compgen -u -- "${1:-$cur}" )); else local IFS=' '; COMPREPLY=($( compgen -W "$( id -un 2>/dev/null || whoami 2>/dev/null )" -- "${1:-$cur}" )); fi } pyenv => () { command="$1"; shift; case "$command" in pop | push | rehash | shell) eval $(command pyenv "sh-$command" "$@") ;; *) command pyenv "$command" "$@" ;; esac } __ltrim_colon_completions => () { if [[ "$1" == *:* && "$COMP_WORDBREAKS" == *:* ]]; then local colon_word=${1%${1##*:}}; local i=${#COMPREPLY[*]}; while [[ $((--i)) -ge 0 ]]; do COMPREPLY[$i]=${COMPREPLY[$i]#"$colon_word"}; done; fi } LOGNAME => sesc BASH_COMPLETION => /opt/etc/common/bash_completion _ => /srv/_tmp_/php-7.2.22/sapi/cli/php TEST_PHP_EXECUTABLE => /srv/_tmp_/php-7.2.22/sapi/cli/php pf => () { ps -o pid,user,start,args f $@ | grep -v "\_ ps -o" } is_term => () { [[ $- == *i* ]] || [[ -n $PS1 ]] || tty --silent } __perlbrew_deactivate => () { __perlbrew_set_env; unset PERLBREW_PERL; unset PERLBREW_LIB; __perlbrew_set_path } _minimal => () { local cur prev words cword split; _init_completion -s || return; $split && return; _filedir } __perlbrew_set_path => () { export MANPATH=$PERLBREW_MANPATH${PERLBREW_MANPATH:+:}$(__perlbrew_purify "`manpath 2>/dev/null`"); export PATH=${PERLBREW_PATH:-$PERLBREW_ROOT/bin}:$(__perlbrew_purify "$PATH"); hash -r } _xfunc => () { set -- "$@"; local srcfile=$1; shift; declare -F $1 &>/dev/null || { local compdir=$BASH_COMPLETION_DIR; . "$compdir/$srcfile" }; "$@" } is_interactive => () { [[ $- == *i* ]] && (( ! ${IS_SCRIPT:-0} )) && [[ -z $BASH_EXECUTION_STRING ]] } gd => () { local IFS=/' ' DL=(); [[ $PWD = / ]] || DL=(..); DL+=($(command ls -1FL | grep /$)); select D in "${DL[@]}"; do [[ -n $D ]] && cd -- "$D"; break; done } command => rehash COLUMNS => 140 PPC_CONFIG_PATH => /opt/etc perlbrew_command => /usr/local/perlbrew/bin/perlbrew TERM => screen _pids => () { COMPREPLY=($( compgen -W '$( command ps axo pid= )' -- "$cur" )) } _get_comp_words_by_ref => () { local exclude flag i OPTIND=1; local cur cword words=(); local upargs=() upvars=() vcur vcword vprev vwords; while getopts "c:i:n:p:w:" flag "$@"; do case $flag in c) vcur=$OPTARG ;; i) vcword=$OPTARG ;; n) exclude=$OPTARG ;; p) vprev=$OPTARG ;; w) vwords=$OPTARG ;; esac; done; while [[ $# -ge $OPTIND ]]; do case ${!OPTIND} in cur) vcur=cur ;; prev) vprev=prev ;; cword) vcword=cword ;; words) vwords=words ;; *) echo "bash: $FUNCNAME(): \`${!OPTIND}': unknown argument" 1>&2; return 1 ;; esac; let "OPTIND += 1"; done; __get_cword_at_cursor_by_ref "$exclude" words cword cur; [[ -n $vcur ]] && { upvars+=("$vcur"); upargs+=(-v $vcur "$cur") }; [[ -n $vcword ]] && { upvars+=("$vcword"); upargs+=(-v $vcword "$cword") }; [[ -n $vprev && $cword -ge 1 ]] && { upvars+=("$vprev"); upargs+=(-v $vprev "${words[cword - 1]}") }; [[ -n $vwords ]] && { upvars+=("$vwords"); upargs+=(-a${#words[@]} $vwords "${words[@]}") }; (( ${#upvars[@]} )) && local "${upvars[@]}" && _upvars "${upargs[@]}" } dequote => () { eval printf %s "$1" 2> /dev/null } _userland => () { local userland=$( uname -s ); [[ $userland == @(Linux|GNU/*) ]] && userland=GNU; [[ $userland == $1 ]] } _cd => () { local cur prev words cword; _init_completion || return; local IFS=' ' i j k; compopt -o filenames; if [[ -z "${CDPATH:-}" || "$cur" == ?(.)?(.)/* ]]; then _filedir -d; return 0; fi; local -r mark_dirs=$(_rl_enabled mark-directories && echo y); local -r mark_symdirs=$(_rl_enabled mark-symlinked-directories && echo y); for i in ${CDPATH//:/' '}; do k="${#COMPREPLY[@]}"; for j in $( compgen -d $i/$cur ); do if [[ ( -n $mark_symdirs && -h $j || -n $mark_dirs && ! -h $j ) && ! -d ${j#$i/} ]]; then j+="/"; fi; COMPREPLY[k++]=${j#$i/}; done; done; _filedir -d; if [[ ${#COMPREPLY[@]} -eq 1 ]]; then i=${COMPREPLY[0]}; if [[ "$i" == "$cur" && $i != "*/" ]]; then COMPREPLY[0]="${i}/"; fi; fi; return 0 } murder => () { kill $1 || kill -9 $1 } HISTCONTROL => ignoreboth LC_COLLATE => C use => () { local _dir _dirs _do=source _done=0 _err _file _lib=uselib; [[ $1 == -e ]] && { _do=${EDITOR:-mcedit -x}; shift }; [[ $1 == -h ]] && { _do=usagetext; shift }; if (( $# )); then _lib=${1%%=*}; [[ $_lib == $1 ]] && shift || set -- ${1#*=} "${@:2}"; fi; IFS=: read -a _dirs <<< ".:$SMS_LIBPATH"; for _file in "$_lib" "MY_$_lib"; do for _dir in "${_dirs[@]}"; do [[ -f $_dir/$_file ]] || continue; if [[ $_file == MY_* ]] && (( ! $_done )); then echo "use: NOTE: 'MY_$_lib' found but not '$_lib' - importing anyway." 1>&2; fi; $_do "$_dir/$_file" "$@"; _err=$?; case $_err in 0) _done=1 ;; 126) _done=2; continue ;; 128) _err=0; continue ;; *) _done=3; echo "use: ERROR($_err) sourcing library '$_file' in '$_dir'." 1>&2 ;; esac; break; done; done; case $_done in 0) echo "use: ERROR: library '$_lib' was not found." 1>&2; return 1 ;; 1) return 0 ;; *) return $_done ;; esac } quote_readline => () { local quoted; _quote_readline_by_ref "$1" ret; printf %s "$ret" } __get_cword_at_cursor_by_ref => () { local cword words=(); __reassemble_comp_words_by_ref "$1" words cword; local i cur index=$COMP_POINT lead=${COMP_LINE:0:$COMP_POINT}; if [[ $index -gt 0 && ( -n $lead && -n ${lead//[[:space:]]} ) ]]; then cur=$COMP_LINE; for ((i = 0; i <= cword; ++i )) do while [[ ${#cur} -ge ${#words[i]} && "${cur:0:${#words[i]}}" != "${words[i]}" ]]; do cur="${cur:1}"; ((index--)); done; if [[ $i -lt $cword ]]; then local old_size=${#cur}; cur="${cur#"${words[i]}"}"; local new_size=${#cur}; index=$(( index - old_size + new_size )); fi; done; [[ -n $cur && ! -n ${cur//[[:space:]]} ]] && cur=; [[ $index -lt 0 ]] && index=0; fi; local "$2" "$3" "$4" && _upvars -a${#words[@]} $2 "${words[@]}" -v $3 "$cword" -v $4 "${cur:0:$index}" } LESSCHARSET => UTF-8 PERLBREW_HOME => /home/sesc/.perlbrew BASH_COMPLETION_DIR => /opt/etc/common/bash_completion.d PATH => /home/sesc/.pyenv/bin:/usr/local/perlbrew/bin:/usr/local/perlbrew/perls/perl-5.24.0/bin:/opt/share/bin/private/b3:/opt/share/bin/private:/opt/share/bin/_linux:/opt/share/bin:/opt/share/bin/FlameGraph:/opt/share/bin/bash_completion.d:/srv/www/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11 _sysvdirs => () { sysvdirs=(); [[ -d /etc/rc.d/init.d ]] && sysvdirs+=(/etc/rc.d/init.d); [[ -d /etc/init.d ]] && sysvdirs+=(/etc/init.d); [[ -f /etc/slackware-version ]] && sysvdirs=(/etc/rc.d) } MAKELEVEL => 1 PERL5LIB => /opt/share/Perl:/opt/share/Perl/contrib mcd => () { [[ -n $1 ]] || return; mkdir -p -p "$1" && cd "$1" } _uids => () { if type getent &>/dev/null; then COMPREPLY=($( compgen -W '$( getent passwd | cut -d: -f3 )' -- "$cur" )); else if type perl &>/dev/null; then COMPREPLY=($( compgen -W '$( perl -e '"'"'while (($uid) = (getpwent)[2]) { print $uid . "\n" }'"'"' )' -- "$cur" )); else COMPREPLY=($( compgen -W '$( cut -d: -f3 /etc/passwd )' -- "$cur" )); fi; fi } marks => () { find "${MARKPATH:?}" -maxdepth 1 -type l -printf "%-32f\t-> %l\n" } PYTHONSTARTUP => /opt/share/Python/pythonrc.py LANG => en_GB.UTF-8 STY => 13119.pts-0.b3 PERLBREW_BASHRC_VERSION => 0.76 PERLBREW_PATH => /usr/local/perlbrew/bin:/usr/local/perlbrew/perls/perl-5.24.0/bin OPT => /opt LS_COLORS => di=01;34;47:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36: TEST_PHPDBG_EXECUTABLE => /srv/_tmp_/php-7.2.22/sapi/phpdbg/phpdbg mark => () { mkdir -p "${MARKPATH:?}"; ln -s "$PWD" "$MARKPATH/$1" } quote => () { local quoted=${1//\'/\'\\\'\'}; printf "'%s'" "$quoted" } _upvars => () { if ! (( $# )); then echo "${FUNCNAME[0]}: usage: ${FUNCNAME[0]} [-v varname" "value] | [-aN varname [value ...]] ..." 1>&2; return 2; fi; while (( $# )); do case $1 in -a*) [[ -n ${1#-a} ]] || { echo "bash: ${FUNCNAME[0]}: \`$1': missing" "number specifier" 1>&2; return 1 }; printf %d "${1#-a}" &>/dev/null || { echo "bash:" "${FUNCNAME[0]}: \`$1': invalid number specifier" 1>&2; return 1 }; [[ -n "$2" ]] && unset -v "$2" && eval $2=\(\"\${@:3:${1#-a}}\"\) && shift $((${1#-a} + 2)) || { echo "bash: ${FUNCNAME[0]}:" "\`$1${2+ }$2': missing argument(s)" 1>&2; return 1 } ;; -v) [[ -n "$2" ]] && unset -v "$2" && eval $2=\"\$3\" && shift 3 || { echo "bash: ${FUNCNAME[0]}: $1: missing" "argument(s)" 1>&2; return 1 } ;; *) echo "bash: ${FUNCNAME[0]}: $1: invalid option" 1>&2; return 1 ;; esac; done } SSH_AUTH_SOCK => deleted _get_first_arg => () { local i; arg=; for ((i=1; i < COMP_CWORD; i++ )) do if [[ "${COMP_WORDS[i]}" != -* ]]; then arg=${COMP_WORDS[i]}; break; fi; done } fill => () { if [[ $1 == -n ]]; then local NL="-n"; shift; fi; local line; local char="${1:--}"; local times="${2:-((${COLUMNS:=80}-1))}"; for ((i=1; i<=times; i++)) do line="$line$char"; done; echo $NL "$line" } SHELL => /bin/bash _filedir_xspec => () { local cur prev words cword; _init_completion || return; _expand || return 0; local IFS=' ' xspec=${_xspecs[${1##*/}]} tmp; local -a toks; toks=($( compgen -d -- "$(quote_readline "$cur")" | { while read -r tmp; do printf '%s\n' $tmp done } )); eval xspec="${xspec}"; local matchop=!; if [[ $xspec == !* ]]; then xspec=${xspec#!}; matchop=@; fi; xspec="$matchop($xspec|${xspec^^})"; toks+=($( eval compgen -f -X "!$xspec" -- "\$(quote_readline "\$cur")" | { while read -r tmp; do [[ -n $tmp ]] && printf '%s\n' $tmp done } )); if [[ ${#toks[@]} -ne 0 ]]; then compopt -o filenames; COMPREPLY=("${toks[@]}"); fi } __perlbrew_purify => () { local path patharray outsep; IFS=: read -r${BASH_VERSION+a}${ZSH_VERSION+A} patharray <<< "$1"; for path in "${patharray[@]}"; do case "$path" in *"$PERLBREW_HOME"*) ;; *"$PERLBREW_ROOT"*) ;; *) printf '%s' "$outsep$path"; outsep=: ;; esac; done } _upvar => () { if unset -v "$1"; then if (( $# == 2 )); then eval $1=\"\$2\"; else eval $1=\(\"\${@:2}\"\); fi; fi } _signals => () { local -a sigs=($( compgen -P "$1" -A signal "SIG${cur#$1}" )); COMPREPLY+=("${sigs[@]/#${1}SIG/${1}}") } PROMPT_COMMAND => history -a LESSCLOSE => /usr/bin/lesspipe %s %s _completion_loader => () { local compdir=$BASH_COMPLETION_DIR; . "$compdir/${1##*/}" &>/dev/null && return 124; complete -F _minimal "$1" && return 124 } _init_completion => () { local exclude= flag outx errx inx OPTIND=1; while getopts "n:e:o:i:s" flag "$@"; do case $flag in n) exclude+=$OPTARG ;; e) errx=$OPTARG ;; o) outx=$OPTARG ;; i) inx=$OPTARG ;; s) split=false; exclude+== ;; esac; done; COMPREPLY=(); local redir="@(?([0-9])<|?([0-9&])>?(>)|>&)"; _get_comp_words_by_ref -n "$exclude<>&" cur prev words cword; _variables && return 1; if [[ $cur == $redir* || $prev == $redir ]]; then local xspec; case $cur in 2'>'*) xspec=$errx ;; *'>'*) xspec=$outx ;; *'<'*) xspec=$inx ;; *) case $prev in 2'>'*) xspec=$errx ;; *'>'*) xspec=$outx ;; *'<'*) xspec=$inx ;; esac ;; esac; cur="${cur##$redir}"; _filedir $xspec; return 1; fi; local i skip; for ((i=1; i < ${#words[@]}; 1)) do if [[ ${words[i]} == $redir* ]]; then [[ ${words[i]} == $redir ]] && skip=2 || skip=1; words=("${words[@]:0:i}" "${words[@]:i+skip}"); [[ $i -le $cword ]] && cword=$(( cword - skip )); else i=$(( ++i )); fi; done; [[ $cword -le 0 ]] && return 1; prev=${words[cword-1]}; [[ -n ${split-} ]] && _split_longopt && split=true; return 0 } unmark => () { rm -i "${MARKPATH:?}/${1:?}" } _backup_glob => @(#*#|*@(~|.@(bak|orig|rej|swp|dpkg*|rpm@(orig|new|save)))) bind => () { command bind "$@" 2> /dev/null } WINDOW => 3 REPLY => PERLBREW_PERL => perl-5.24.0 _xinetd_services => () { local xinetddir=/etc/xinetd.d; if [[ -d $xinetddir ]]; then local restore_nullglob=$(shopt -p nullglob); shopt -s nullglob; local -a svcs=($( printf '%s\n' $xinetddir/!($_backup_glob) )); $restore_nullglob; COMPREPLY+=($( compgen -W '${svcs[@]#$xinetddir/}' -- "$cur" )); fi } _expand => () { if [[ "$cur" == \~*/* ]]; then eval cur=$cur 2> /dev/null; else if [[ "$cur" == \~* ]]; then cur=${cur#\~}; COMPREPLY=($( compgen -P '~' -u "$cur" )); [[ ${#COMPREPLY[@]} -eq 1 ]] && eval COMPREPLY[0]=${COMPREPLY[0]}; return ${#COMPREPLY[@]}; fi; fi } _variables => () { if [[ $cur =~ ^(\$\{?)([A-Za-z0-9_]*)$ ]]; then [[ $cur == *{* ]] && local suffix=} || local suffix=; COMPREPLY+=($( compgen -P ${BASH_REMATCH[1]} -S "$suffix" -v -- "${BASH_REMATCH[2]}" )); return 0; fi; return 1 } PWD => /srv/_tmp_/php-7.2.22 _split_longopt => () { if [[ "$cur" == --?*=* ]]; then prev="${cur%%?(\\)=*}"; cur="${cur#*=}"; return 0; fi; return 1 } _rl_enabled => () { [[ "$( bind -v )" = *$1+([[:space:]])on* ]] } jump => () { cd -P "${MARKPATH:?}/${1:?give a mark}" 2> /dev/null || echo "No such mark: $1" } __reassemble_comp_words_by_ref => () { local exclude i j line ref; if [[ -n $1 ]]; then exclude="${1//[^$COMP_WORDBREAKS]}"; fi; eval $3=$COMP_CWORD; if [[ -n $exclude ]]; then line=$COMP_LINE; for ((i=0, j=0; i < ${#COMP_WORDS[@]}; i++, j++)) do while [[ $i -gt 0 && ${COMP_WORDS[$i]} == +([$exclude]) ]]; do [[ $line != [' ']* ]] && (( j >= 2 )) && ((j--)); ref="$2[$j]"; eval $2[$j]=\${!ref}\${COMP_WORDS[i]}; [[ $i == $COMP_CWORD ]] && eval $3=$j; line=${line#*"${COMP_WORDS[$i]}"}; [[ $line == [' ']* ]] && ((j++)); (( $i < ${#COMP_WORDS[@]} - 1)) && ((i++)) || break 2; done; ref="$2[$j]"; eval $2[$j]=\${!ref}\${COMP_WORDS[i]}; line=${line#*"${COMP_WORDS[i]}"}; [[ $i == $COMP_CWORD ]] && eval $3=$j; done; else eval $2=\( \"\${COMP_WORDS[@]}\" \); fi } SSH_CONNECTION => deleted __expand_tilde_by_ref => () { if [[ ${!1} == \~* ]]; then if [[ ${!1} == */* ]]; then eval $1="${!1/%\/*}"/'${!1#*/}'; else eval $1="${!1}"; fi; fi } __perlbrew_set_env => () { local code; code="$($perlbrew_command env $@)" || return $?; eval "$code" } _cd_devices => () { COMPREPLY+=($( compgen -f -d -X "!*/?([amrs])cd*" -- "${cur:-/dev/}" )) } g => () { local f=${1:?missing filename}; shift; local o=${f%.cpp}; g++ -g -Wall -o $o $f "$@" } gu => () { local D I N=${1:-1}; for I in $(echo {1..$N}); do D=../$D; done; cd $D } PYTHONPATH => /opt/share/Python:/opt/share/Python/contrib LINES => 51 TERMCAP => SC|screen|VT 100/ANSI X3.64 virtual terminal:\ :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:\ :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:\ :do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:\ :le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:\ :li#52:co#140:am:xn:xv:LP:sr=\EM:al=\E[L:AL=\E[%dL:\ :cs=\E[%i%d;%dr:dl=\E[M:DL=\E[%dM:dc=\E[P:DC=\E[%dP:\ :im=\E[4h:ei=\E[4l:mi:IC=\E[%d@:ks=\E[?1h\E=:\ :ke=\E[?1l\E>:vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:\ :ti=\E[?1049h:te=\E[?1049l:us=\E[4m:ue=\E[24m:so=\E[3m:\ :se=\E[23m:mb=\E[5m:md=\E[1m:mr=\E[7m:me=\E[m:ms:\ :Co#8:pa#64:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:AX:\ :vb=\Eg:G0:as=\E(0:ae=\E(B:\ :ac=\140\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\ :po=\E[5i:pf=\E[4i:Km=\E[M:k0=\E[10~:k1=\EOP:k2=\EOQ:\ :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:F1=\E[23~:F2=\E[24~:\ :F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:\ :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:kb=:\ :K2=\EOE:kB=\E[Z:kF=\E[1;2B:kR=\E[1;2A:*4=\E[3;2~:\ :*7=\E[1;2F:#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:\ :%e=\E[5;2~:%i=\E[1;2C:kh=\E[1~:@1=\E[1~:kH=\E[4~:\ :@7=\E[4~:kN=\E[6~:kP=\E[5~:kI=\E[2~:kD=\E[3~:ku=\EOA:\ :kd=\EOB:kr=\EOC:kl=\EOD:km: _pnames => () { COMPREPLY=($( compgen -X '<defunct>' -W '$( command ps axo command= | \ sed -e "s/ .*//" -e "s:.*/::" -e "s/:$//" -e "s/^[[(-]//" \ -e "s/[])]$//" | sort -u )' -- "$cur" )) } _modules => () { local modpath; modpath=/lib/modules/$1; COMPREPLY=($( compgen -W "$( command ls -RL $modpath 2>/dev/null | sed -ne 's/^\(.*\)\.k\{0,1\}o\(\.[gx]z\)\{0,1\}$/\1/p' )" -- "$cur" )) } HISTFILE => /home/sesc/.bash_history.experiments/20190922.sh MFLAGS => CPATH => /usr/local/include CC => gcc cm => () { local d=$PWD; mkdir -p build && ( cd $(readlink -f build) && { [[ Makefile -nt $d/CMakeList.txt ]] || cmake $CMAKE_OPTIONS $d } && make "$@" ) || return $?; for f in "$@"; do if [[ -f build/$f ]]; then cp build/$f .; fi; done } _dvd_devices => () { COMPREPLY+=($( compgen -f -d -X "!*/?(r)dvd*" -- "${cur:-/dev/}" )) } path => () { local arg clean elem i p var verbose=0; local -a del push unshift; local OPTARG OPTIND OPTERR; local IFS=:; if [[ $1 != -* ]]; then var=$1; shift; if [[ $ == *\[*\] ]]; then echo ${!var}; return; fi; fi; while getopts "a:cd:p:u:vh" arg; do case $arg in a | u) unshift=($OPTARG ${unshift[@]}) ;; c) clean=1 ;; d) del+=($OPTARG) ;; p) push+=($OPTARG) ;; v) verbose=1 ;; h | \?) usagetext $BASH_SOURCE; return 130 ;; *) echo "Unhandled argument: $arg"; return 10 ;; esac; done; shift $((OPTIND-1)); var=${1:-${var:-PATH}}; p=(${!var}); for elem in ${unshift[@]} ${push[@]}; do for i in ${!p[@]}; do [[ ${p[$i]} == ${elem} ]] && unset p[$i]; done; done; p=(${unshift[@]} ${p[@]} ${push[@]}); if (( $clean )); then for i in ${!p[@]}; do [[ -d ${p[$i]} ]] || unset p[$i]; done; fi; for elem in ${del[@]}; do for i in ${!p[@]}; do [[ ${p[$i]} == ${elem} ]] && unset p[$i]; done; done; if (( verbose || clean+${#del}+${#push}+${#unshift} == 0 )); then for i in ${!p[@]}; do echo ${p[$i]}; done; fi; export $var="${p[*]}" } SMS_LIBPATH => /opt/etc/profile.d:/opt/etc/common/profile.d MANPATH => /usr/local/perlbrew/perls/perl-5.24.0/man:/opt/share/man:/usr/local/share/man:/usr/share/man _installed_modules => () { COMPREPLY=($( compgen -W "$( PATH="$PATH:/sbin" lsmod | awk '{if (NR != 1) print $1}' )" -- "$1" )) } _get_cword => () { local LC_CTYPE=C; local cword words; __reassemble_comp_words_by_ref "$1" words cword; if [[ -n ${2//[^0-9]/} ]]; then printf "%s" "${words[cword-$2]}"; else if [[ "${#words[cword]}" -eq 0 || "$COMP_POINT" == "${#COMP_LINE}" ]]; then printf "%s" "${words[cword]}"; else local i; local cur="$COMP_LINE"; local index="$COMP_POINT"; for ((i = 0; i <= cword; ++i )) do while [[ "${#cur}" -ge ${#words[i]} && "${cur:0:${#words[i]}}" != "${words[i]}" ]]; do cur="${cur:1}"; ((index--)); done; if [[ "$i" -lt "$cword" ]]; then local old_size="${#cur}"; cur="${cur#${words[i]}}"; local new_size="${#cur}"; index=$(( index - old_size + new_size )); fi; done; if [[ "${words[cword]:0:${#cur}}" != "$cur" ]]; then printf "%s" "${words[cword]}"; else printf "%s" "${cur:0:$index}"; fi; fi; fi } es => () { [[ $1 == -r ]] && { local do=sudo; shift }; (( $# )) || return 1; local f=$(which $1); [[ -e $f ]] && $do $EDITOR $f } EDITOR => mcedit -x MARKPATH => /home/sesc/.marks PHP Variables Variable => Value $_SERVER['fitline'] => () { if (( $# )); then cut -c 1-$COLUMNS <<< "$*"; else cut -c 1-$COLUMNS; fi } $_SERVER['_tilde'] => () { local result=0; if [[ $1 == \~* && $1 != */* ]]; then COMPREPLY=($( compgen -P '~' -u "${1#\~}" )); result=${#COMPREPLY[@]}; [[ $result -gt 0 ]] && compopt -o filenames 2> /dev/null; fi; return $result } $_SERVER['DIR_COLORS'] => /opt/etc/common/DIR_COLORS $_SERVER['LESSOPEN'] => | /usr/bin/lesspipe %s $_SERVER['_realcommand'] => () { type -P "$1" > /dev/null && { if type -p realpath > /dev/null; then realpath "$(type -P "$1")"; else if type -p greadlink > /dev/null; then greadlink -f "$(type -P "$1")"; else if type -p readlink > /dev/null; then readlink -f "$(type -P "$1")"; else type -P "$1"; fi; fi; fi } } $_SERVER['_count_args'] => () { local i cword words; __reassemble_comp_words_by_ref "$1" words cword; args=1; for i in "${words[@]:1:cword-1}"; do [[ "$i" != -* ]] && args=$(($args+1)); done } $_SERVER['HISTTIMEFORMAT'] => %d %h %H:%M > $_SERVER['INPUTRC'] => /opt/etc/common/inputrc $_SERVER['PERLBREW_VERSION'] => 0.82 $_SERVER['mc'] => () { mkdir -p ~/.cache/mc; declare _pwd=~/.cache/mc/pwd.$$; command mc "$@" -x -P "$_pwd"; pushd "$(cat "$_pwd")"; rm -f "$_pwd" } $_SERVER['USER'] => sesc $_SERVER['SSH_CLIENT'] => deleted $_SERVER['MAIL'] => /var/mail/sesc $_SERVER['_kernel_versions'] => () { COMPREPLY=($( compgen -W '$( command ls /lib/modules )' -- "$cur" )) } $_SERVER['_configure'] => () { local cur prev words cword split; _init_completion -s || return; case $prev in -h | --help | -V | --version | --program-prefix | --program-suffix | --program-transform-name) return ;; --*file) _filedir; return ;; --*prefix | --*dir) _filedir -d; return ;; esac; $split && return 0; [[ "$cur" != -* ]] && return 0; if [[ -n $COMP_CONFIGURE_HINTS ]]; then COMPREPLY=($( compgen -W "$( $1 --help 2>&1 | awk '/^ --[A-Za-z]/ { print $1; \ if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,].*//g' )" -- "$cur" )); [[ $COMPREPLY == *=* ]] && compopt -o nospace; else COMPREPLY=($( compgen -W '$( _parse_help "$1" )' -- "$cur" )); [[ $COMPREPLY == *= ]] && compopt -o nospace; fi } $_SERVER['_shells'] => () { local shell rest; while read -r shell rest; do [[ $shell == /* && $shell == "$cur"* ]] && COMPREPLY+=($shell); done 2> /dev/null < /etc/shells } $_SERVER['cs'] => () { cd -- "$1"; shift; LANG=C command ls -A -N -v --color=auto --group-directories-first --show-control-chars --time-style=long-iso "$@" } $_SERVER['type'] => () { declare cmd is what; builtin type "$@" | while read cmd is what; do if [[ $what == /* ]] && [[ -L $what ]]; then declare where="$(realpath "$what")"; echo "$cmd $is $what -> $where"; else echo "$cmd $is $what"; fi; done; return ${PIPESTATUS[0]} } $_SERVER['_pgids'] => () { COMPREPLY=($( compgen -W '$( command ps axo pgid= )' -- "$cur" )) } $_SERVER['SHLVL'] => 3 $_SERVER['HISTIGNORE'] => &:bg:fg:eh:exit:l:mc $_SERVER['LD_LIBRARY_PATH'] => /usr/local/lib $_SERVER['_usergroup'] => () { if [[ $cur = *\\\\* || $cur = *:*:* ]]; then return; else if [[ $cur = *\\:* ]]; then local prefix; prefix=${cur%%*([^:])}; prefix=${prefix//\\}; local mycur="${cur#*[:]}"; if [[ $1 == -u ]]; then _allowed_groups "$mycur"; else local IFS=' '; COMPREPLY=($( compgen -g -- "$mycur" )); fi; COMPREPLY=($( compgen -P "$prefix" -W "${COMPREPLY[@]}" )); else if [[ $cur = *:* ]]; then local mycur="${cur#*:}"; if [[ $1 == -u ]]; then _allowed_groups "$mycur"; else local IFS=' '; COMPREPLY=($( compgen -g -- "$mycur" )); fi; else if [[ $1 == -u ]]; then _allowed_users "$cur"; else local IFS=' '; COMPREPLY=($( compgen -u -- "$cur" )); fi; fi; fi; fi } $_SERVER['_allowed_groups'] => () { if _complete_as_root; then local IFS=' '; COMPREPLY=($( compgen -g -- "$1" )); else local IFS=' '; COMPREPLY=($( compgen -W "$( id -Gn 2>/dev/null || groups 2>/dev/null )" -- "$1" )); fi } $_SERVER['_pci_ids'] => () { COMPREPLY+=($( compgen -W "$( PATH="$PATH:/sbin" lspci -n | awk '{print $3}')" -- "$cur" )) } $_SERVER['LESS'] => MNRSX~#8 $_SERVER['HOME'] => /home/sesc $_SERVER['TEST_PHP_SRCDIR'] => /srv/_tmp_/php-7.2.22 $_SERVER['perlbrew'] => () { local exit_status; local short_option; export SHELL; if [[ $1 == -* ]]; then short_option=$1; shift; else short_option=""; fi; case $1 in use) if [[ -z "$2" ]]; then echo -n "Currently using ${PERLBREW_PERL:-system perl}"; [ -n "$PERLBREW_LIB" ] && echo -n "@$PERLBREW_LIB"; echo; else __perlbrew_set_env "$2" && { __perlbrew_set_path; true }; exit_status="$?"; fi ;; switch) if [[ -z "$2" ]]; then command perlbrew switch; else perlbrew use $2 && { __perlbrew_reinit $2; true }; exit_status=$?; fi ;; off) __perlbrew_deactivate; echo "perlbrew is turned off." ;; switch-off) __perlbrew_deactivate; __perlbrew_reinit; echo "perlbrew is switched off." ;; *) command perlbrew $short_option "$@"; exit_status=$? ;; esac; hash -r; return ${exit_status:-0} } $_SERVER['_longopt'] => () { local cur prev words cword split; _init_completion -s || return; case "${prev,,}" in --help | --usage | --version) return 0 ;; --*dir*) _filedir -d; return 0 ;; --*file* | --*path*) _filedir; return 0 ;; --[-a-z0-9_]*) local argtype=$( $1 --help 2>&1 | sed -ne "s|.*$prev\[\{0,1\}=[<[]\{0,1\}\([-A-Za-z0-9_]\{1,\}\).*|\1|p" ); case ${argtype,,} in *dir*) _filedir -d; return 0 ;; *file* | *path*) _filedir; return 0 ;; esac ;; esac; $split && return 0; if [[ "$cur" == -* ]]; then COMPREPLY=($( compgen -W "$( $1 --help 2>&1 | sed -ne 's/.*\(--[-A-Za-z0-9]\{1,\}=\{0,1\}\).*/\1/p' | sort -u )" -- "$cur" )); [[ $COMPREPLY == *= ]] && compopt -o nospace; else if [[ "$1" == @(mk|rm)dir ]]; then _filedir -d; else _filedir; fi; fi } $_SERVER['_have'] => () { PATH=$PATH:/usr/sbin:/sbin:/usr/local/sbin type $1 &>/dev/null } $_SERVER['DOMAIN'] => private $_SERVER['SSH_TTY'] => deleted $_SERVER['XDG_SESSION_COOKIE'] => a29b99f728c019650775c7380000000b-1565023390.191277-473494929 $_SERVER['_quote_readline_by_ref'] => () { if [[ $1 == \'* ]]; then printf -v $2 %s "${1:1}"; else printf -v $2 %q "$1"; fi; [[ ${!2} == \$* ]] && eval $2=${!2} } $_SERVER['df'] => () { echo; command df -h "$@"; echo } $_SERVER['__perlbrew_reinit'] => () { if [[ ! -d "$PERLBREW_HOME" ]]; then mkdir -p -p "$PERLBREW_HOME"; fi; echo '# DO NOT EDIT THIS FILE' > "$PERLBREW_HOME/init"; command perlbrew env $1 | \grep PERLBREW_ >> "$PERLBREW_HOME/init"; . "$PERLBREW_HOME/init"; __perlbrew_set_path } $_SERVER['PERL_CPANM_OPT'] => --skip-installed --notest --auto-cleanup=0 $_SERVER['GLOBIGNORE'] => . $_SERVER['PERLBREW_ROOT'] => /usr/local/perlbrew $_SERVER['PAGER'] => less $_SERVER['_filedir'] => () { local i IFS=' ' xspec; _tilde "$cur" || return 0; local -a toks; local quoted x tmp; _quote_readline_by_ref "$cur" quoted; x=$( compgen -d -- "$quoted" ) && while read -r tmp; do toks+=("$tmp"); done <<< "$x"; if [[ "$1" != -d ]]; then xspec=${1:+"!*.@($1|${1^^})"}; x=$( compgen -f -X "$xspec" -- $quoted ) && while read -r tmp; do toks+=("$tmp"); done <<< "$x"; fi; [[ -n ${COMP_FILEDIR_FALLBACK:-} && -n "$1" && "$1" != -d && ${#toks[@]} -lt 1 ]] && x=$( compgen -f -- $quoted ) && while read -r tmp; do toks+=("$tmp"); done <<< "$x"; if [[ ${#toks[@]} -ne 0 ]]; then compopt -o filenames 2> /dev/null; COMPREPLY+=("${toks[@]}"); fi } $_SERVER['_command'] => () { local offset i; offset=1; for ((i=1; i <= COMP_CWORD; i++ )) do if [[ "${COMP_WORDS[i]}" != -* ]]; then offset=$i; break; fi; done; _command_offset $offset } $_SERVER['_gids'] => () { if type getent &>/dev/null; then COMPREPLY=($( compgen -W '$( getent group | cut -d: -f3 )' -- "$cur" )); else if type perl &>/dev/null; then COMPREPLY=($( compgen -W '$( perl -e '"'"'while (($gid) = (getgrent)[2]) { print $gid . "\n" }'"'"' )' -- "$cur" )); else COMPREPLY=($( compgen -W '$( cut -d: -f3 /etc/group )' -- "$cur" )); fi; fi } $_SERVER['_command_offset'] => () { local word_offset=$1 i j; for ((i=0; i < $word_offset; i++ )) do for ((j=0; j <= ${#COMP_LINE}; j++ )) do [[ "$COMP_LINE" == "${COMP_WORDS[i]}"* ]] && break; COMP_LINE=${COMP_LINE:1}; ((COMP_POINT--)); done; COMP_LINE=${COMP_LINE#"${COMP_WORDS[i]}"}; ((COMP_POINT-=${#COMP_WORDS[i]})); done; for ((i=0; i <= COMP_CWORD - $word_offset; i++ )) do COMP_WORDS[i]=${COMP_WORDS[i+$word_offset]}; done; for ((i; i <= COMP_CWORD; i++ )) do unset COMP_WORDS[i]; done; ((COMP_CWORD -= $word_offset)); COMPREPLY=(); local cur; _get_comp_words_by_ref cur; if [[ $COMP_CWORD -eq 0 ]]; then local IFS=' '; compopt -o filenames; COMPREPLY=($( compgen -d -c -- "$cur" )); else local cmd=${COMP_WORDS[0]} compcmd=${COMP_WORDS[0]}; local cspec=$( complete -p $cmd 2>/dev/null ); if [[ ! -n $cspec && $cmd == */* ]]; then cspec=$( complete -p ${cmd##*/} 2>/dev/null ); [[ -n $cspec ]] && compcmd=${cmd##*/}; fi; if [[ ! -n $cspec ]]; then compcmd=${cmd##*/}; _completion_loader $compcmd; cspec=$( complete -p $compcmd 2>/dev/null ); fi; if [[ -n $cspec ]]; then if [[ ${cspec#* -F } != $cspec ]]; then local func=${cspec#*-F }; func=${func%% *}; if [[ ${#COMP_WORDS[@]} -ge 2 ]]; then $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}" "${COMP_WORDS[${#COMP_WORDS[@]}-2]}"; else $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}"; fi; local opt t; while true; do t=${cspec#*-o }; if [[ $t == $cspec ]]; then break; fi; opt=${t%% *}; compopt -o $opt; cspec=${t#$opt}; done; else cspec=${cspec#complete}; cspec=${cspec%%$compcmd}; COMPREPLY=($( eval compgen "$cspec" -- '$cur' )); fi; else if [[ ${#COMPREPLY[@]} -eq 0 ]]; then _minimal; fi; fi; fi } $_SERVER['_complete_as_root'] => () { [[ $EUID -eq 0 || -n ${root_command:-} ]] } $_SERVER['__perlbrew_activate'] => () { [[ -n $(alias perl 2>/dev/null) ]] && unalias perl 2> /dev/null; if [[ -n "$PERLBREW_PERL" ]]; then __perlbrew_set_env "$PERLBREW_PERL${PERLBREW_LIB:+@}$PERLBREW_LIB"; fi; __perlbrew_set_path } $_SERVER['_root_command'] => () { local PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin; local root_command=$1; _command } $_SERVER['PERLBREW_MANPATH'] => /usr/local/perlbrew/perls/perl-5.24.0/man $_SERVER['MAKEFLAGS'] => $_SERVER['xtitle'] => () { (( $# )) || { sh2help -s XTITLE "$BASH_SOURCE"; return 130 }; if [[ $1 == -s ]]; then SCREEN=1; shift; fi; : ${PS1X:=$PS1}; if [[ $TERM == screen* ]] && (( SCREEN )); then printf "\033k%s\033\\" "$*"; else printf "\033]0;%s\007" "$*"; export PS1="${PS1X/]0;/]0;${*} }"; fi } $_SERVER['_get_pword'] => () { if [[ $COMP_CWORD -ge 1 ]]; then _get_cword "${@:-}" 1; fi } $_SERVER['_color'] => () { [[ -z $TERM || $TERM == dumb ]] && return; declare _arg _bracket=0 _code _color _pre=0 _res _var OPTIND=1; while getopts "bpv:-h" _arg; do case $_arg in b) _bracket=1 ;; p) _pre=1 ;; v) _var="$OPTARG" ;; -) break ;; h) sh2help "$BASH_SOURCE"; return 130 ;; *) echo "_color: $_arg: internal error"; return 10 ;; esac; done; shift $((OPTIND-1)); _color="$1"; case "$_color" in bright* | light* | b? | l?) _code="1;" ;; *) _code="0;" ;; esac; case "$_color" in *black | k | ?k | darkgrey | darkgray) _code="${_code}30" ;; *red | r | ?r) _code="${_code}31" ;; *green | g | ?g) _code="${_code}32" ;; yellow | y) _code="1;33" ;; brown | n | dy) _code="0;33" ;; *blue | b | ?b) _code="${_code}34" ;; *magenta | *pink | m | ?m) _code="${_code}35" ;; *cyan | c | ?c) _code="${_code}36" ;; grey | gray | dw) _code="0;37" ;; white | w) _code="1;37" ;; inverse | inv) _code="7" ;; any | '*') _code="" ;; *) _code="0" ;; esac; [[ -n "$_code" ]] && _res="\e[${_code}m"; shift; [[ $1 == on ]] && shift; _color="$1"; case "$_color" in *black | k) _code="40" ;; *red | r) _code="41" ;; *green | g) _code="42" ;; yellow | y | brown | n) _code="43" ;; *blue | b) _code="44" ;; *magenta | *pink | m) _code="45" ;; *cyan | c) _code="46" ;; grey | gray | white | w) _code="47" ;; any | '*') _code="" ;; *) _code="0" ;; esac; [[ -n "$_code" ]] && _res="\e[${_code}m${_res}"; (( _bracket )) && _res="\[${_res}\]"; if [[ -z "$_var" ]]; then echo -en "$_res"; return; fi; if (( _pre )); then export $_var="${_res}${!_var}"; else export $_var="${!_var}${_res}"; fi } $_SERVER['_allowed_users'] => () { if _complete_as_root; then local IFS=' '; COMPREPLY=($( compgen -u -- "${1:-$cur}" )); else local IFS=' '; COMPREPLY=($( compgen -W "$( id -un 2>/dev/null || whoami 2>/dev/null )" -- "${1:-$cur}" )); fi } $_SERVER['pyenv'] => () { command="$1"; shift; case "$command" in pop | push | rehash | shell) eval $(command pyenv "sh-$command" "$@") ;; *) command pyenv "$command" "$@" ;; esac } $_SERVER['__ltrim_colon_completions'] => () { if [[ "$1" == *:* && "$COMP_WORDBREAKS" == *:* ]]; then local colon_word=${1%${1##*:}}; local i=${#COMPREPLY[*]}; while [[ $((--i)) -ge 0 ]]; do COMPREPLY[$i]=${COMPREPLY[$i]#"$colon_word"}; done; fi } $_SERVER['LOGNAME'] => sesc $_SERVER['BASH_COMPLETION'] => /opt/etc/common/bash_completion $_SERVER['_'] => /srv/_tmp_/php-7.2.22/sapi/cli/php $_SERVER['TEST_PHP_EXECUTABLE'] => /srv/_tmp_/php-7.2.22/sapi/cli/php $_SERVER['pf'] => () { ps -o pid,user,start,args f $@ | grep -v "\_ ps -o" } $_SERVER['is_term'] => () { [[ $- == *i* ]] || [[ -n $PS1 ]] || tty --silent } $_SERVER['__perlbrew_deactivate'] => () { __perlbrew_set_env; unset PERLBREW_PERL; unset PERLBREW_LIB; __perlbrew_set_path } $_SERVER['_minimal'] => () { local cur prev words cword split; _init_completion -s || return; $split && return; _filedir } $_SERVER['__perlbrew_set_path'] => () { export MANPATH=$PERLBREW_MANPATH${PERLBREW_MANPATH:+:}$(__perlbrew_purify "`manpath 2>/dev/null`"); export PATH=${PERLBREW_PATH:-$PERLBREW_ROOT/bin}:$(__perlbrew_purify "$PATH"); hash -r } $_SERVER['_xfunc'] => () { set -- "$@"; local srcfile=$1; shift; declare -F $1 &>/dev/null || { local compdir=$BASH_COMPLETION_DIR; . "$compdir/$srcfile" }; "$@" } $_SERVER['is_interactive'] => () { [[ $- == *i* ]] && (( ! ${IS_SCRIPT:-0} )) && [[ -z $BASH_EXECUTION_STRING ]] } $_SERVER['gd'] => () { local IFS=/' ' DL=(); [[ $PWD = / ]] || DL=(..); DL+=($(command ls -1FL | grep /$)); select D in "${DL[@]}"; do [[ -n $D ]] && cd -- "$D"; break; done } $_SERVER['command'] => rehash $_SERVER['COLUMNS'] => 140 $_SERVER['PPC_CONFIG_PATH'] => /opt/etc $_SERVER['perlbrew_command'] => /usr/local/perlbrew/bin/perlbrew $_SERVER['TERM'] => screen $_SERVER['_pids'] => () { COMPREPLY=($( compgen -W '$( command ps axo pid= )' -- "$cur" )) } $_SERVER['_get_comp_words_by_ref'] => () { local exclude flag i OPTIND=1; local cur cword words=(); local upargs=() upvars=() vcur vcword vprev vwords; while getopts "c:i:n:p:w:" flag "$@"; do case $flag in c) vcur=$OPTARG ;; i) vcword=$OPTARG ;; n) exclude=$OPTARG ;; p) vprev=$OPTARG ;; w) vwords=$OPTARG ;; esac; done; while [[ $# -ge $OPTIND ]]; do case ${!OPTIND} in cur) vcur=cur ;; prev) vprev=prev ;; cword) vcword=cword ;; words) vwords=words ;; *) echo "bash: $FUNCNAME(): \`${!OPTIND}': unknown argument" 1>&2; return 1 ;; esac; let "OPTIND += 1"; done; __get_cword_at_cursor_by_ref "$exclude" words cword cur; [[ -n $vcur ]] && { upvars+=("$vcur"); upargs+=(-v $vcur "$cur") }; [[ -n $vcword ]] && { upvars+=("$vcword"); upargs+=(-v $vcword "$cword") }; [[ -n $vprev && $cword -ge 1 ]] && { upvars+=("$vprev"); upargs+=(-v $vprev "${words[cword - 1]}") }; [[ -n $vwords ]] && { upvars+=("$vwords"); upargs+=(-a${#words[@]} $vwords "${words[@]}") }; (( ${#upvars[@]} )) && local "${upvars[@]}" && _upvars "${upargs[@]}" } $_SERVER['dequote'] => () { eval printf %s "$1" 2> /dev/null } $_SERVER['_userland'] => () { local userland=$( uname -s ); [[ $userland == @(Linux|GNU/*) ]] && userland=GNU; [[ $userland == $1 ]] } $_SERVER['_cd'] => () { local cur prev words cword; _init_completion || return; local IFS=' ' i j k; compopt -o filenames; if [[ -z "${CDPATH:-}" || "$cur" == ?(.)?(.)/* ]]; then _filedir -d; return 0; fi; local -r mark_dirs=$(_rl_enabled mark-directories && echo y); local -r mark_symdirs=$(_rl_enabled mark-symlinked-directories && echo y); for i in ${CDPATH//:/' '}; do k="${#COMPREPLY[@]}"; for j in $( compgen -d $i/$cur ); do if [[ ( -n $mark_symdirs && -h $j || -n $mark_dirs && ! -h $j ) && ! -d ${j#$i/} ]]; then j+="/"; fi; COMPREPLY[k++]=${j#$i/}; done; done; _filedir -d; if [[ ${#COMPREPLY[@]} -eq 1 ]]; then i=${COMPREPLY[0]}; if [[ "$i" == "$cur" && $i != "*/" ]]; then COMPREPLY[0]="${i}/"; fi; fi; return 0 } $_SERVER['murder'] => () { kill $1 || kill -9 $1 } $_SERVER['HISTCONTROL'] => ignoreboth $_SERVER['LC_COLLATE'] => C $_SERVER['use'] => () { local _dir _dirs _do=source _done=0 _err _file _lib=uselib; [[ $1 == -e ]] && { _do=${EDITOR:-mcedit -x}; shift }; [[ $1 == -h ]] && { _do=usagetext; shift }; if (( $# )); then _lib=${1%%=*}; [[ $_lib == $1 ]] && shift || set -- ${1#*=} "${@:2}"; fi; IFS=: read -a _dirs <<< ".:$SMS_LIBPATH"; for _file in "$_lib" "MY_$_lib"; do for _dir in "${_dirs[@]}"; do [[ -f $_dir/$_file ]] || continue; if [[ $_file == MY_* ]] && (( ! $_done )); then echo "use: NOTE: 'MY_$_lib' found but not '$_lib' - importing anyway." 1>&2; fi; $_do "$_dir/$_file" "$@"; _err=$?; case $_err in 0) _done=1 ;; 126) _done=2; continue ;; 128) _err=0; continue ;; *) _done=3; echo "use: ERROR($_err) sourcing library '$_file' in '$_dir'." 1>&2 ;; esac; break; done; done; case $_done in 0) echo "use: ERROR: library '$_lib' was not found." 1>&2; return 1 ;; 1) return 0 ;; *) return $_done ;; esac } $_SERVER['quote_readline'] => () { local quoted; _quote_readline_by_ref "$1" ret; printf %s "$ret" } $_SERVER['__get_cword_at_cursor_by_ref'] => () { local cword words=(); __reassemble_comp_words_by_ref "$1" words cword; local i cur index=$COMP_POINT lead=${COMP_LINE:0:$COMP_POINT}; if [[ $index -gt 0 && ( -n $lead && -n ${lead//[[:space:]]} ) ]]; then cur=$COMP_LINE; for ((i = 0; i <= cword; ++i )) do while [[ ${#cur} -ge ${#words[i]} && "${cur:0:${#words[i]}}" != "${words[i]}" ]]; do cur="${cur:1}"; ((index--)); done; if [[ $i -lt $cword ]]; then local old_size=${#cur}; cur="${cur#"${words[i]}"}"; local new_size=${#cur}; index=$(( index - old_size + new_size )); fi; done; [[ -n $cur && ! -n ${cur//[[:space:]]} ]] && cur=; [[ $index -lt 0 ]] && index=0; fi; local "$2" "$3" "$4" && _upvars -a${#words[@]} $2 "${words[@]}" -v $3 "$cword" -v $4 "${cur:0:$index}" } $_SERVER['LESSCHARSET'] => UTF-8 $_SERVER['PERLBREW_HOME'] => /home/sesc/.perlbrew $_SERVER['BASH_COMPLETION_DIR'] => /opt/etc/common/bash_completion.d $_SERVER['PATH'] => /home/sesc/.pyenv/bin:/usr/local/perlbrew/bin:/usr/local/perlbrew/perls/perl-5.24.0/bin:/opt/share/bin/private/b3:/opt/share/bin/private:/opt/share/bin/_linux:/opt/share/bin:/opt/share/bin/FlameGraph:/opt/share/bin/bash_completion.d:/srv/www/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11 $_SERVER['_sysvdirs'] => () { sysvdirs=(); [[ -d /etc/rc.d/init.d ]] && sysvdirs+=(/etc/rc.d/init.d); [[ -d /etc/init.d ]] && sysvdirs+=(/etc/init.d); [[ -f /etc/slackware-version ]] && sysvdirs=(/etc/rc.d) } $_SERVER['MAKELEVEL'] => 1 $_SERVER['PERL5LIB'] => /opt/share/Perl:/opt/share/Perl/contrib $_SERVER['mcd'] => () { [[ -n $1 ]] || return; mkdir -p -p "$1" && cd "$1" } $_SERVER['_uids'] => () { if type getent &>/dev/null; then COMPREPLY=($( compgen -W '$( getent passwd | cut -d: -f3 )' -- "$cur" )); else if type perl &>/dev/null; then COMPREPLY=($( compgen -W '$( perl -e '"'"'while (($uid) = (getpwent)[2]) { print $uid . "\n" }'"'"' )' -- "$cur" )); else COMPREPLY=($( compgen -W '$( cut -d: -f3 /etc/passwd )' -- "$cur" )); fi; fi } $_SERVER['marks'] => () { find "${MARKPATH:?}" -maxdepth 1 -type l -printf "%-32f\t-> %l\n" } $_SERVER['PYTHONSTARTUP'] => /opt/share/Python/pythonrc.py $_SERVER['LANG'] => en_GB.UTF-8 $_SERVER['STY'] => 13119.pts-0.b3 $_SERVER['PERLBREW_BASHRC_VERSION'] => 0.76 $_SERVER['PERLBREW_PATH'] => /usr/local/perlbrew/bin:/usr/local/perlbrew/perls/perl-5.24.0/bin $_SERVER['OPT'] => /opt $_SERVER['LS_COLORS'] => di=01;34;47:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36: $_SERVER['TEST_PHPDBG_EXECUTABLE'] => /srv/_tmp_/php-7.2.22/sapi/phpdbg/phpdbg $_SERVER['mark'] => () { mkdir -p "${MARKPATH:?}"; ln -s "$PWD" "$MARKPATH/$1" } $_SERVER['quote'] => () { local quoted=${1//\'/\'\\\'\'}; printf "'%s'" "$quoted" } $_SERVER['_upvars'] => () { if ! (( $# )); then echo "${FUNCNAME[0]}: usage: ${FUNCNAME[0]} [-v varname" "value] | [-aN varname [value ...]] ..." 1>&2; return 2; fi; while (( $# )); do case $1 in -a*) [[ -n ${1#-a} ]] || { echo "bash: ${FUNCNAME[0]}: \`$1': missing" "number specifier" 1>&2; return 1 }; printf %d "${1#-a}" &>/dev/null || { echo "bash:" "${FUNCNAME[0]}: \`$1': invalid number specifier" 1>&2; return 1 }; [[ -n "$2" ]] && unset -v "$2" && eval $2=\(\"\${@:3:${1#-a}}\"\) && shift $((${1#-a} + 2)) || { echo "bash: ${FUNCNAME[0]}:" "\`$1${2+ }$2': missing argument(s)" 1>&2; return 1 } ;; -v) [[ -n "$2" ]] && unset -v "$2" && eval $2=\"\$3\" && shift 3 || { echo "bash: ${FUNCNAME[0]}: $1: missing" "argument(s)" 1>&2; return 1 } ;; *) echo "bash: ${FUNCNAME[0]}: $1: invalid option" 1>&2; return 1 ;; esac; done } $_SERVER['SSH_AUTH_SOCK'] => deleted $_SERVER['_get_first_arg'] => () { local i; arg=; for ((i=1; i < COMP_CWORD; i++ )) do if [[ "${COMP_WORDS[i]}" != -* ]]; then arg=${COMP_WORDS[i]}; break; fi; done } $_SERVER['fill'] => () { if [[ $1 == -n ]]; then local NL="-n"; shift; fi; local line; local char="${1:--}"; local times="${2:-((${COLUMNS:=80}-1))}"; for ((i=1; i<=times; i++)) do line="$line$char"; done; echo $NL "$line" } $_SERVER['SHELL'] => /bin/bash $_SERVER['_filedir_xspec'] => () { local cur prev words cword; _init_completion || return; _expand || return 0; local IFS=' ' xspec=${_xspecs[${1##*/}]} tmp; local -a toks; toks=($( compgen -d -- "$(quote_readline "$cur")" | { while read -r tmp; do printf '%s\n' $tmp done } )); eval xspec="${xspec}"; local matchop=!; if [[ $xspec == !* ]]; then xspec=${xspec#!}; matchop=@; fi; xspec="$matchop($xspec|${xspec^^})"; toks+=($( eval compgen -f -X "!$xspec" -- "\$(quote_readline "\$cur")" | { while read -r tmp; do [[ -n $tmp ]] && printf '%s\n' $tmp done } )); if [[ ${#toks[@]} -ne 0 ]]; then compopt -o filenames; COMPREPLY=("${toks[@]}"); fi } $_SERVER['__perlbrew_purify'] => () { local path patharray outsep; IFS=: read -r${BASH_VERSION+a}${ZSH_VERSION+A} patharray <<< "$1"; for path in "${patharray[@]}"; do case "$path" in *"$PERLBREW_HOME"*) ;; *"$PERLBREW_ROOT"*) ;; *) printf '%s' "$outsep$path"; outsep=: ;; esac; done } $_SERVER['_upvar'] => () { if unset -v "$1"; then if (( $# == 2 )); then eval $1=\"\$2\"; else eval $1=\(\"\${@:2}\"\); fi; fi } $_SERVER['_signals'] => () { local -a sigs=($( compgen -P "$1" -A signal "SIG${cur#$1}" )); COMPREPLY+=("${sigs[@]/#${1}SIG/${1}}") } $_SERVER['PROMPT_COMMAND'] => history -a $_SERVER['LESSCLOSE'] => /usr/bin/lesspipe %s %s $_SERVER['_completion_loader'] => () { local compdir=$BASH_COMPLETION_DIR; . "$compdir/${1##*/}" &>/dev/null && return 124; complete -F _minimal "$1" && return 124 } $_SERVER['_init_completion'] => () { local exclude= flag outx errx inx OPTIND=1; while getopts "n:e:o:i:s" flag "$@"; do case $flag in n) exclude+=$OPTARG ;; e) errx=$OPTARG ;; o) outx=$OPTARG ;; i) inx=$OPTARG ;; s) split=false; exclude+== ;; esac; done; COMPREPLY=(); local redir="@(?([0-9])<|?([0-9&])>?(>)|>&)"; _get_comp_words_by_ref -n "$exclude<>&" cur prev words cword; _variables && return 1; if [[ $cur == $redir* || $prev == $redir ]]; then local xspec; case $cur in 2'>'*) xspec=$errx ;; *'>'*) xspec=$outx ;; *'<'*) xspec=$inx ;; *) case $prev in 2'>'*) xspec=$errx ;; *'>'*) xspec=$outx ;; *'<'*) xspec=$inx ;; esac ;; esac; cur="${cur##$redir}"; _filedir $xspec; return 1; fi; local i skip; for ((i=1; i < ${#words[@]}; 1)) do if [[ ${words[i]} == $redir* ]]; then [[ ${words[i]} == $redir ]] && skip=2 || skip=1; words=("${words[@]:0:i}" "${words[@]:i+skip}"); [[ $i -le $cword ]] && cword=$(( cword - skip )); else i=$(( ++i )); fi; done; [[ $cword -le 0 ]] && return 1; prev=${words[cword-1]}; [[ -n ${split-} ]] && _split_longopt && split=true; return 0 } $_SERVER['unmark'] => () { rm -i "${MARKPATH:?}/${1:?}" } $_SERVER['_backup_glob'] => @(#*#|*@(~|.@(bak|orig|rej|swp|dpkg*|rpm@(orig|new|save)))) $_SERVER['bind'] => () { command bind "$@" 2> /dev/null } $_SERVER['WINDOW'] => 3 $_SERVER['REPLY'] => $_SERVER['PERLBREW_PERL'] => perl-5.24.0 $_SERVER['_xinetd_services'] => () { local xinetddir=/etc/xinetd.d; if [[ -d $xinetddir ]]; then local restore_nullglob=$(shopt -p nullglob); shopt -s nullglob; local -a svcs=($( printf '%s\n' $xinetddir/!($_backup_glob) )); $restore_nullglob; COMPREPLY+=($( compgen -W '${svcs[@]#$xinetddir/}' -- "$cur" )); fi } $_SERVER['_expand'] => () { if [[ "$cur" == \~*/* ]]; then eval cur=$cur 2> /dev/null; else if [[ "$cur" == \~* ]]; then cur=${cur#\~}; COMPREPLY=($( compgen -P '~' -u "$cur" )); [[ ${#COMPREPLY[@]} -eq 1 ]] && eval COMPREPLY[0]=${COMPREPLY[0]}; return ${#COMPREPLY[@]}; fi; fi } $_SERVER['_variables'] => () { if [[ $cur =~ ^(\$\{?)([A-Za-z0-9_]*)$ ]]; then [[ $cur == *{* ]] && local suffix=} || local suffix=; COMPREPLY+=($( compgen -P ${BASH_REMATCH[1]} -S "$suffix" -v -- "${BASH_REMATCH[2]}" )); return 0; fi; return 1 } $_SERVER['PWD'] => /srv/_tmp_/php-7.2.22 $_SERVER['_split_longopt'] => () { if [[ "$cur" == --?*=* ]]; then prev="${cur%%?(\\)=*}"; cur="${cur#*=}"; return 0; fi; return 1 } $_SERVER['_rl_enabled'] => () { [[ "$( bind -v )" = *$1+([[:space:]])on* ]] } $_SERVER['jump'] => () { cd -P "${MARKPATH:?}/${1:?give a mark}" 2> /dev/null || echo "No such mark: $1" } $_SERVER['__reassemble_comp_words_by_ref'] => () { local exclude i j line ref; if [[ -n $1 ]]; then exclude="${1//[^$COMP_WORDBREAKS]}"; fi; eval $3=$COMP_CWORD; if [[ -n $exclude ]]; then line=$COMP_LINE; for ((i=0, j=0; i < ${#COMP_WORDS[@]}; i++, j++)) do while [[ $i -gt 0 && ${COMP_WORDS[$i]} == +([$exclude]) ]]; do [[ $line != [' ']* ]] && (( j >= 2 )) && ((j--)); ref="$2[$j]"; eval $2[$j]=\${!ref}\${COMP_WORDS[i]}; [[ $i == $COMP_CWORD ]] && eval $3=$j; line=${line#*"${COMP_WORDS[$i]}"}; [[ $line == [' ']* ]] && ((j++)); (( $i < ${#COMP_WORDS[@]} - 1)) && ((i++)) || break 2; done; ref="$2[$j]"; eval $2[$j]=\${!ref}\${COMP_WORDS[i]}; line=${line#*"${COMP_WORDS[i]}"}; [[ $i == $COMP_CWORD ]] && eval $3=$j; done; else eval $2=\( \"\${COMP_WORDS[@]}\" \); fi } $_SERVER['SSH_CONNECTION'] => deleted $_SERVER['__expand_tilde_by_ref'] => () { if [[ ${!1} == \~* ]]; then if [[ ${!1} == */* ]]; then eval $1="${!1/%\/*}"/'${!1#*/}'; else eval $1="${!1}"; fi; fi } $_SERVER['__perlbrew_set_env'] => () { local code; code="$($perlbrew_command env $@)" || return $?; eval "$code" } $_SERVER['_cd_devices'] => () { COMPREPLY+=($( compgen -f -d -X "!*/?([amrs])cd*" -- "${cur:-/dev/}" )) } $_SERVER['g'] => () { local f=${1:?missing filename}; shift; local o=${f%.cpp}; g++ -g -Wall -o $o $f "$@" } $_SERVER['gu'] => () { local D I N=${1:-1}; for I in $(echo {1..$N}); do D=../$D; done; cd $D } $_SERVER['PYTHONPATH'] => /opt/share/Python:/opt/share/Python/contrib $_SERVER['LINES'] => 51 $_SERVER['TERMCAP'] => SC|screen|VT 100/ANSI X3.64 virtual terminal:\ :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:\ :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:\ :do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:\ :le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:\ :li#52:co#140:am:xn:xv:LP:sr=\EM:al=\E[L:AL=\E[%dL:\ :cs=\E[%i%d;%dr:dl=\E[M:DL=\E[%dM:dc=\E[P:DC=\E[%dP:\ :im=\E[4h:ei=\E[4l:mi:IC=\E[%d@:ks=\E[?1h\E=:\ :ke=\E[?1l\E>:vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:\ :ti=\E[?1049h:te=\E[?1049l:us=\E[4m:ue=\E[24m:so=\E[3m:\ :se=\E[23m:mb=\E[5m:md=\E[1m:mr=\E[7m:me=\E[m:ms:\ :Co#8:pa#64:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:AX:\ :vb=\Eg:G0:as=\E(0:ae=\E(B:\ :ac=\140\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\ :po=\E[5i:pf=\E[4i:Km=\E[M:k0=\E[10~:k1=\EOP:k2=\EOQ:\ :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:F1=\E[23~:F2=\E[24~:\ :F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:\ :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:kb=:\ :K2=\EOE:kB=\E[Z:kF=\E[1;2B:kR=\E[1;2A:*4=\E[3;2~:\ :*7=\E[1;2F:#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:\ :%e=\E[5;2~:%i=\E[1;2C:kh=\E[1~:@1=\E[1~:kH=\E[4~:\ :@7=\E[4~:kN=\E[6~:kP=\E[5~:kI=\E[2~:kD=\E[3~:ku=\EOA:\ :kd=\EOB:kr=\EOC:kl=\EOD:km: $_SERVER['_pnames'] => () { COMPREPLY=($( compgen -X '<defunct>' -W '$( command ps axo command= | \ sed -e "s/ .*//" -e "s:.*/::" -e "s/:$//" -e "s/^[[(-]//" \ -e "s/[])]$//" | sort -u )' -- "$cur" )) } $_SERVER['_modules'] => () { local modpath; modpath=/lib/modules/$1; COMPREPLY=($( compgen -W "$( command ls -RL $modpath 2>/dev/null | sed -ne 's/^\(.*\)\.k\{0,1\}o\(\.[gx]z\)\{0,1\}$/\1/p' )" -- "$cur" )) } $_SERVER['HISTFILE'] => /home/sesc/.bash_history.experiments/20190922.sh $_SERVER['MFLAGS'] => $_SERVER['CPATH'] => /usr/local/include $_SERVER['CC'] => gcc $_SERVER['cm'] => () { local d=$PWD; mkdir -p build && ( cd $(readlink -f build) && { [[ Makefile -nt $d/CMakeList.txt ]] || cmake $CMAKE_OPTIONS $d } && make "$@" ) || return $?; for f in "$@"; do if [[ -f build/$f ]]; then cp build/$f .; fi; done } $_SERVER['_dvd_devices'] => () { COMPREPLY+=($( compgen -f -d -X "!*/?(r)dvd*" -- "${cur:-/dev/}" )) } $_SERVER['path'] => () { local arg clean elem i p var verbose=0; local -a del push unshift; local OPTARG OPTIND OPTERR; local IFS=:; if [[ $1 != -* ]]; then var=$1; shift; if [[ $ == *\[*\] ]]; then echo ${!var}; return; fi; fi; while getopts "a:cd:p:u:vh" arg; do case $arg in a | u) unshift=($OPTARG ${unshift[@]}) ;; c) clean=1 ;; d) del+=($OPTARG) ;; p) push+=($OPTARG) ;; v) verbose=1 ;; h | \?) usagetext $BASH_SOURCE; return 130 ;; *) echo "Unhandled argument: $arg"; return 10 ;; esac; done; shift $((OPTIND-1)); var=${1:-${var:-PATH}}; p=(${!var}); for elem in ${unshift[@]} ${push[@]}; do for i in ${!p[@]}; do [[ ${p[$i]} == ${elem} ]] && unset p[$i]; done; done; p=(${unshift[@]} ${p[@]} ${push[@]}); if (( $clean )); then for i in ${!p[@]}; do [[ -d ${p[$i]} ]] || unset p[$i]; done; fi; for elem in ${del[@]}; do for i in ${!p[@]}; do [[ ${p[$i]} == ${elem} ]] && unset p[$i]; done; done; if (( verbose || clean+${#del}+${#push}+${#unshift} == 0 )); then for i in ${!p[@]}; do echo ${p[$i]}; done; fi; export $var="${p[*]}" } $_SERVER['SMS_LIBPATH'] => /opt/etc/profile.d:/opt/etc/common/profile.d $_SERVER['MANPATH'] => /usr/local/perlbrew/perls/perl-5.24.0/man:/opt/share/man:/usr/local/share/man:/usr/share/man $_SERVER['_installed_modules'] => () { COMPREPLY=($( compgen -W "$( PATH="$PATH:/sbin" lsmod | awk '{if (NR != 1) print $1}' )" -- "$1" )) } $_SERVER['_get_cword'] => () { local LC_CTYPE=C; local cword words; __reassemble_comp_words_by_ref "$1" words cword; if [[ -n ${2//[^0-9]/} ]]; then printf "%s" "${words[cword-$2]}"; else if [[ "${#words[cword]}" -eq 0 || "$COMP_POINT" == "${#COMP_LINE}" ]]; then printf "%s" "${words[cword]}"; else local i; local cur="$COMP_LINE"; local index="$COMP_POINT"; for ((i = 0; i <= cword; ++i )) do while [[ "${#cur}" -ge ${#words[i]} && "${cur:0:${#words[i]}}" != "${words[i]}" ]]; do cur="${cur:1}"; ((index--)); done; if [[ "$i" -lt "$cword" ]]; then local old_size="${#cur}"; cur="${cur#${words[i]}}"; local new_size="${#cur}"; index=$(( index - old_size + new_size )); fi; done; if [[ "${words[cword]:0:${#cur}}" != "$cur" ]]; then printf "%s" "${words[cword]}"; else printf "%s" "${cur:0:$index}"; fi; fi; fi } $_SERVER['es'] => () { [[ $1 == -r ]] && { local do=sudo; shift }; (( $# )) || return 1; local f=$(which $1); [[ -e $f ]] && $do $EDITOR $f } $_SERVER['EDITOR'] => mcedit -x $_SERVER['MARKPATH'] => /home/sesc/.marks $_SERVER['PHP_SELF'] => $_SERVER['SCRIPT_NAME'] => $_SERVER['SCRIPT_FILENAME'] => $_SERVER['PATH_TRANSLATED'] => $_SERVER['DOCUMENT_ROOT'] => $_SERVER['REQUEST_TIME_FLOAT'] => 1569221639.3294 $_SERVER['REQUEST_TIME'] => 1569221639 $_SERVER['argv'] => Array ( ) $_SERVER['argc'] => 0 $_ENV['fitline'] => () { if (( $# )); then cut -c 1-$COLUMNS <<< "$*"; else cut -c 1-$COLUMNS; fi } $_ENV['_tilde'] => () { local result=0; if [[ $1 == \~* && $1 != */* ]]; then COMPREPLY=($( compgen -P '~' -u "${1#\~}" )); result=${#COMPREPLY[@]}; [[ $result -gt 0 ]] && compopt -o filenames 2> /dev/null; fi; return $result } $_ENV['DIR_COLORS'] => /opt/etc/common/DIR_COLORS $_ENV['LESSOPEN'] => | /usr/bin/lesspipe %s $_ENV['_realcommand'] => () { type -P "$1" > /dev/null && { if type -p realpath > /dev/null; then realpath "$(type -P "$1")"; else if type -p greadlink > /dev/null; then greadlink -f "$(type -P "$1")"; else if type -p readlink > /dev/null; then readlink -f "$(type -P "$1")"; else type -P "$1"; fi; fi; fi } } $_ENV['_count_args'] => () { local i cword words; __reassemble_comp_words_by_ref "$1" words cword; args=1; for i in "${words[@]:1:cword-1}"; do [[ "$i" != -* ]] && args=$(($args+1)); done } $_ENV['HISTTIMEFORMAT'] => %d %h %H:%M > $_ENV['INPUTRC'] => /opt/etc/common/inputrc $_ENV['PERLBREW_VERSION'] => 0.82 $_ENV['mc'] => () { mkdir -p ~/.cache/mc; declare _pwd=~/.cache/mc/pwd.$$; command mc "$@" -x -P "$_pwd"; pushd "$(cat "$_pwd")"; rm -f "$_pwd" } $_ENV['USER'] => sesc $_ENV['SSH_CLIENT'] => deleted $_ENV['MAIL'] => /var/mail/sesc $_ENV['_kernel_versions'] => () { COMPREPLY=($( compgen -W '$( command ls /lib/modules )' -- "$cur" )) } $_ENV['_configure'] => () { local cur prev words cword split; _init_completion -s || return; case $prev in -h | --help | -V | --version | --program-prefix | --program-suffix | --program-transform-name) return ;; --*file) _filedir; return ;; --*prefix | --*dir) _filedir -d; return ;; esac; $split && return 0; [[ "$cur" != -* ]] && return 0; if [[ -n $COMP_CONFIGURE_HINTS ]]; then COMPREPLY=($( compgen -W "$( $1 --help 2>&1 | awk '/^ --[A-Za-z]/ { print $1; \ if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,].*//g' )" -- "$cur" )); [[ $COMPREPLY == *=* ]] && compopt -o nospace; else COMPREPLY=($( compgen -W '$( _parse_help "$1" )' -- "$cur" )); [[ $COMPREPLY == *= ]] && compopt -o nospace; fi } $_ENV['_shells'] => () { local shell rest; while read -r shell rest; do [[ $shell == /* && $shell == "$cur"* ]] && COMPREPLY+=($shell); done 2> /dev/null < /etc/shells } $_ENV['cs'] => () { cd -- "$1"; shift; LANG=C command ls -A -N -v --color=auto --group-directories-first --show-control-chars --time-style=long-iso "$@" } $_ENV['type'] => () { declare cmd is what; builtin type "$@" | while read cmd is what; do if [[ $what == /* ]] && [[ -L $what ]]; then declare where="$(realpath "$what")"; echo "$cmd $is $what -> $where"; else echo "$cmd $is $what"; fi; done; return ${PIPESTATUS[0]} } $_ENV['_pgids'] => () { COMPREPLY=($( compgen -W '$( command ps axo pgid= )' -- "$cur" )) } $_ENV['SHLVL'] => 3 $_ENV['HISTIGNORE'] => &:bg:fg:eh:exit:l:mc $_ENV['LD_LIBRARY_PATH'] => /usr/local/lib $_ENV['_usergroup'] => () { if [[ $cur = *\\\\* || $cur = *:*:* ]]; then return; else if [[ $cur = *\\:* ]]; then local prefix; prefix=${cur%%*([^:])}; prefix=${prefix//\\}; local mycur="${cur#*[:]}"; if [[ $1 == -u ]]; then _allowed_groups "$mycur"; else local IFS=' '; COMPREPLY=($( compgen -g -- "$mycur" )); fi; COMPREPLY=($( compgen -P "$prefix" -W "${COMPREPLY[@]}" )); else if [[ $cur = *:* ]]; then local mycur="${cur#*:}"; if [[ $1 == -u ]]; then _allowed_groups "$mycur"; else local IFS=' '; COMPREPLY=($( compgen -g -- "$mycur" )); fi; else if [[ $1 == -u ]]; then _allowed_users "$cur"; else local IFS=' '; COMPREPLY=($( compgen -u -- "$cur" )); fi; fi; fi; fi } $_ENV['_allowed_groups'] => () { if _complete_as_root; then local IFS=' '; COMPREPLY=($( compgen -g -- "$1" )); else local IFS=' '; COMPREPLY=($( compgen -W "$( id -Gn 2>/dev/null || groups 2>/dev/null )" -- "$1" )); fi } $_ENV['_pci_ids'] => () { COMPREPLY+=($( compgen -W "$( PATH="$PATH:/sbin" lspci -n | awk '{print $3}')" -- "$cur" )) } $_ENV['LESS'] => MNRSX~#8 $_ENV['HOME'] => /home/sesc $_ENV['TEST_PHP_SRCDIR'] => /srv/_tmp_/php-7.2.22 $_ENV['perlbrew'] => () { local exit_status; local short_option; export SHELL; if [[ $1 == -* ]]; then short_option=$1; shift; else short_option=""; fi; case $1 in use) if [[ -z "$2" ]]; then echo -n "Currently using ${PERLBREW_PERL:-system perl}"; [ -n "$PERLBREW_LIB" ] && echo -n "@$PERLBREW_LIB"; echo; else __perlbrew_set_env "$2" && { __perlbrew_set_path; true }; exit_status="$?"; fi ;; switch) if [[ -z "$2" ]]; then command perlbrew switch; else perlbrew use $2 && { __perlbrew_reinit $2; true }; exit_status=$?; fi ;; off) __perlbrew_deactivate; echo "perlbrew is turned off." ;; switch-off) __perlbrew_deactivate; __perlbrew_reinit; echo "perlbrew is switched off." ;; *) command perlbrew $short_option "$@"; exit_status=$? ;; esac; hash -r; return ${exit_status:-0} } $_ENV['_longopt'] => () { local cur prev words cword split; _init_completion -s || return; case "${prev,,}" in --help | --usage | --version) return 0 ;; --*dir*) _filedir -d; return 0 ;; --*file* | --*path*) _filedir; return 0 ;; --[-a-z0-9_]*) local argtype=$( $1 --help 2>&1 | sed -ne "s|.*$prev\[\{0,1\}=[<[]\{0,1\}\([-A-Za-z0-9_]\{1,\}\).*|\1|p" ); case ${argtype,,} in *dir*) _filedir -d; return 0 ;; *file* | *path*) _filedir; return 0 ;; esac ;; esac; $split && return 0; if [[ "$cur" == -* ]]; then COMPREPLY=($( compgen -W "$( $1 --help 2>&1 | sed -ne 's/.*\(--[-A-Za-z0-9]\{1,\}=\{0,1\}\).*/\1/p' | sort -u )" -- "$cur" )); [[ $COMPREPLY == *= ]] && compopt -o nospace; else if [[ "$1" == @(mk|rm)dir ]]; then _filedir -d; else _filedir; fi; fi } $_ENV['_have'] => () { PATH=$PATH:/usr/sbin:/sbin:/usr/local/sbin type $1 &>/dev/null } $_ENV['DOMAIN'] => private $_ENV['SSH_TTY'] => deleted $_ENV['XDG_SESSION_COOKIE'] => a29b99f728c019650775c7380000000b-1565023390.191277-473494929 $_ENV['_quote_readline_by_ref'] => () { if [[ $1 == \'* ]]; then printf -v $2 %s "${1:1}"; else printf -v $2 %q "$1"; fi; [[ ${!2} == \$* ]] && eval $2=${!2} } $_ENV['df'] => () { echo; command df -h "$@"; echo } $_ENV['__perlbrew_reinit'] => () { if [[ ! -d "$PERLBREW_HOME" ]]; then mkdir -p -p "$PERLBREW_HOME"; fi; echo '# DO NOT EDIT THIS FILE' > "$PERLBREW_HOME/init"; command perlbrew env $1 | \grep PERLBREW_ >> "$PERLBREW_HOME/init"; . "$PERLBREW_HOME/init"; __perlbrew_set_path } $_ENV['PERL_CPANM_OPT'] => --skip-installed --notest --auto-cleanup=0 $_ENV['GLOBIGNORE'] => . $_ENV['PERLBREW_ROOT'] => /usr/local/perlbrew $_ENV['PAGER'] => less $_ENV['_filedir'] => () { local i IFS=' ' xspec; _tilde "$cur" || return 0; local -a toks; local quoted x tmp; _quote_readline_by_ref "$cur" quoted; x=$( compgen -d -- "$quoted" ) && while read -r tmp; do toks+=("$tmp"); done <<< "$x"; if [[ "$1" != -d ]]; then xspec=${1:+"!*.@($1|${1^^})"}; x=$( compgen -f -X "$xspec" -- $quoted ) && while read -r tmp; do toks+=("$tmp"); done <<< "$x"; fi; [[ -n ${COMP_FILEDIR_FALLBACK:-} && -n "$1" && "$1" != -d && ${#toks[@]} -lt 1 ]] && x=$( compgen -f -- $quoted ) && while read -r tmp; do toks+=("$tmp"); done <<< "$x"; if [[ ${#toks[@]} -ne 0 ]]; then compopt -o filenames 2> /dev/null; COMPREPLY+=("${toks[@]}"); fi } $_ENV['_command'] => () { local offset i; offset=1; for ((i=1; i <= COMP_CWORD; i++ )) do if [[ "${COMP_WORDS[i]}" != -* ]]; then offset=$i; break; fi; done; _command_offset $offset } $_ENV['_gids'] => () { if type getent &>/dev/null; then COMPREPLY=($( compgen -W '$( getent group | cut -d: -f3 )' -- "$cur" )); else if type perl &>/dev/null; then COMPREPLY=($( compgen -W '$( perl -e '"'"'while (($gid) = (getgrent)[2]) { print $gid . "\n" }'"'"' )' -- "$cur" )); else COMPREPLY=($( compgen -W '$( cut -d: -f3 /etc/group )' -- "$cur" )); fi; fi } $_ENV['_command_offset'] => () { local word_offset=$1 i j; for ((i=0; i < $word_offset; i++ )) do for ((j=0; j <= ${#COMP_LINE}; j++ )) do [[ "$COMP_LINE" == "${COMP_WORDS[i]}"* ]] && break; COMP_LINE=${COMP_LINE:1}; ((COMP_POINT--)); done; COMP_LINE=${COMP_LINE#"${COMP_WORDS[i]}"}; ((COMP_POINT-=${#COMP_WORDS[i]})); done; for ((i=0; i <= COMP_CWORD - $word_offset; i++ )) do COMP_WORDS[i]=${COMP_WORDS[i+$word_offset]}; done; for ((i; i <= COMP_CWORD; i++ )) do unset COMP_WORDS[i]; done; ((COMP_CWORD -= $word_offset)); COMPREPLY=(); local cur; _get_comp_words_by_ref cur; if [[ $COMP_CWORD -eq 0 ]]; then local IFS=' '; compopt -o filenames; COMPREPLY=($( compgen -d -c -- "$cur" )); else local cmd=${COMP_WORDS[0]} compcmd=${COMP_WORDS[0]}; local cspec=$( complete -p $cmd 2>/dev/null ); if [[ ! -n $cspec && $cmd == */* ]]; then cspec=$( complete -p ${cmd##*/} 2>/dev/null ); [[ -n $cspec ]] && compcmd=${cmd##*/}; fi; if [[ ! -n $cspec ]]; then compcmd=${cmd##*/}; _completion_loader $compcmd; cspec=$( complete -p $compcmd 2>/dev/null ); fi; if [[ -n $cspec ]]; then if [[ ${cspec#* -F } != $cspec ]]; then local func=${cspec#*-F }; func=${func%% *}; if [[ ${#COMP_WORDS[@]} -ge 2 ]]; then $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}" "${COMP_WORDS[${#COMP_WORDS[@]}-2]}"; else $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}"; fi; local opt t; while true; do t=${cspec#*-o }; if [[ $t == $cspec ]]; then break; fi; opt=${t%% *}; compopt -o $opt; cspec=${t#$opt}; done; else cspec=${cspec#complete}; cspec=${cspec%%$compcmd}; COMPREPLY=($( eval compgen "$cspec" -- '$cur' )); fi; else if [[ ${#COMPREPLY[@]} -eq 0 ]]; then _minimal; fi; fi; fi } $_ENV['_complete_as_root'] => () { [[ $EUID -eq 0 || -n ${root_command:-} ]] } $_ENV['__perlbrew_activate'] => () { [[ -n $(alias perl 2>/dev/null) ]] && unalias perl 2> /dev/null; if [[ -n "$PERLBREW_PERL" ]]; then __perlbrew_set_env "$PERLBREW_PERL${PERLBREW_LIB:+@}$PERLBREW_LIB"; fi; __perlbrew_set_path } $_ENV['_root_command'] => () { local PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin; local root_command=$1; _command } $_ENV['PERLBREW_MANPATH'] => /usr/local/perlbrew/perls/perl-5.24.0/man $_ENV['MAKEFLAGS'] => $_ENV['xtitle'] => () { (( $# )) || { sh2help -s XTITLE "$BASH_SOURCE"; return 130 }; if [[ $1 == -s ]]; then SCREEN=1; shift; fi; : ${PS1X:=$PS1}; if [[ $TERM == screen* ]] && (( SCREEN )); then printf "\033k%s\033\\" "$*"; else printf "\033]0;%s\007" "$*"; export PS1="${PS1X/]0;/]0;${*} }"; fi } $_ENV['_get_pword'] => () { if [[ $COMP_CWORD -ge 1 ]]; then _get_cword "${@:-}" 1; fi } $_ENV['_color'] => () { [[ -z $TERM || $TERM == dumb ]] && return; declare _arg _bracket=0 _code _color _pre=0 _res _var OPTIND=1; while getopts "bpv:-h" _arg; do case $_arg in b) _bracket=1 ;; p) _pre=1 ;; v) _var="$OPTARG" ;; -) break ;; h) sh2help "$BASH_SOURCE"; return 130 ;; *) echo "_color: $_arg: internal error"; return 10 ;; esac; done; shift $((OPTIND-1)); _color="$1"; case "$_color" in bright* | light* | b? | l?) _code="1;" ;; *) _code="0;" ;; esac; case "$_color" in *black | k | ?k | darkgrey | darkgray) _code="${_code}30" ;; *red | r | ?r) _code="${_code}31" ;; *green | g | ?g) _code="${_code}32" ;; yellow | y) _code="1;33" ;; brown | n | dy) _code="0;33" ;; *blue | b | ?b) _code="${_code}34" ;; *magenta | *pink | m | ?m) _code="${_code}35" ;; *cyan | c | ?c) _code="${_code}36" ;; grey | gray | dw) _code="0;37" ;; white | w) _code="1;37" ;; inverse | inv) _code="7" ;; any | '*') _code="" ;; *) _code="0" ;; esac; [[ -n "$_code" ]] && _res="\e[${_code}m"; shift; [[ $1 == on ]] && shift; _color="$1"; case "$_color" in *black | k) _code="40" ;; *red | r) _code="41" ;; *green | g) _code="42" ;; yellow | y | brown | n) _code="43" ;; *blue | b) _code="44" ;; *magenta | *pink | m) _code="45" ;; *cyan | c) _code="46" ;; grey | gray | white | w) _code="47" ;; any | '*') _code="" ;; *) _code="0" ;; esac; [[ -n "$_code" ]] && _res="\e[${_code}m${_res}"; (( _bracket )) && _res="\[${_res}\]"; if [[ -z "$_var" ]]; then echo -en "$_res"; return; fi; if (( _pre )); then export $_var="${_res}${!_var}"; else export $_var="${!_var}${_res}"; fi } $_ENV['_allowed_users'] => () { if _complete_as_root; then local IFS=' '; COMPREPLY=($( compgen -u -- "${1:-$cur}" )); else local IFS=' '; COMPREPLY=($( compgen -W "$( id -un 2>/dev/null || whoami 2>/dev/null )" -- "${1:-$cur}" )); fi } $_ENV['pyenv'] => () { command="$1"; shift; case "$command" in pop | push | rehash | shell) eval $(command pyenv "sh-$command" "$@") ;; *) command pyenv "$command" "$@" ;; esac } $_ENV['__ltrim_colon_completions'] => () { if [[ "$1" == *:* && "$COMP_WORDBREAKS" == *:* ]]; then local colon_word=${1%${1##*:}}; local i=${#COMPREPLY[*]}; while [[ $((--i)) -ge 0 ]]; do COMPREPLY[$i]=${COMPREPLY[$i]#"$colon_word"}; done; fi } $_ENV['LOGNAME'] => sesc $_ENV['BASH_COMPLETION'] => /opt/etc/common/bash_completion $_ENV['_'] => /srv/_tmp_/php-7.2.22/sapi/cli/php $_ENV['TEST_PHP_EXECUTABLE'] => /srv/_tmp_/php-7.2.22/sapi/cli/php $_ENV['pf'] => () { ps -o pid,user,start,args f $@ | grep -v "\_ ps -o" } $_ENV['is_term'] => () { [[ $- == *i* ]] || [[ -n $PS1 ]] || tty --silent } $_ENV['__perlbrew_deactivate'] => () { __perlbrew_set_env; unset PERLBREW_PERL; unset PERLBREW_LIB; __perlbrew_set_path } $_ENV['_minimal'] => () { local cur prev words cword split; _init_completion -s || return; $split && return; _filedir } $_ENV['__perlbrew_set_path'] => () { export MANPATH=$PERLBREW_MANPATH${PERLBREW_MANPATH:+:}$(__perlbrew_purify "`manpath 2>/dev/null`"); export PATH=${PERLBREW_PATH:-$PERLBREW_ROOT/bin}:$(__perlbrew_purify "$PATH"); hash -r } $_ENV['_xfunc'] => () { set -- "$@"; local srcfile=$1; shift; declare -F $1 &>/dev/null || { local compdir=$BASH_COMPLETION_DIR; . "$compdir/$srcfile" }; "$@" } $_ENV['is_interactive'] => () { [[ $- == *i* ]] && (( ! ${IS_SCRIPT:-0} )) && [[ -z $BASH_EXECUTION_STRING ]] } $_ENV['gd'] => () { local IFS=/' ' DL=(); [[ $PWD = / ]] || DL=(..); DL+=($(command ls -1FL | grep /$)); select D in "${DL[@]}"; do [[ -n $D ]] && cd -- "$D"; break; done } $_ENV['command'] => rehash $_ENV['COLUMNS'] => 140 $_ENV['PPC_CONFIG_PATH'] => /opt/etc $_ENV['perlbrew_command'] => /usr/local/perlbrew/bin/perlbrew $_ENV['TERM'] => screen $_ENV['_pids'] => () { COMPREPLY=($( compgen -W '$( command ps axo pid= )' -- "$cur" )) } $_ENV['_get_comp_words_by_ref'] => () { local exclude flag i OPTIND=1; local cur cword words=(); local upargs=() upvars=() vcur vcword vprev vwords; while getopts "c:i:n:p:w:" flag "$@"; do case $flag in c) vcur=$OPTARG ;; i) vcword=$OPTARG ;; n) exclude=$OPTARG ;; p) vprev=$OPTARG ;; w) vwords=$OPTARG ;; esac; done; while [[ $# -ge $OPTIND ]]; do case ${!OPTIND} in cur) vcur=cur ;; prev) vprev=prev ;; cword) vcword=cword ;; words) vwords=words ;; *) echo "bash: $FUNCNAME(): \`${!OPTIND}': unknown argument" 1>&2; return 1 ;; esac; let "OPTIND += 1"; done; __get_cword_at_cursor_by_ref "$exclude" words cword cur; [[ -n $vcur ]] && { upvars+=("$vcur"); upargs+=(-v $vcur "$cur") }; [[ -n $vcword ]] && { upvars+=("$vcword"); upargs+=(-v $vcword "$cword") }; [[ -n $vprev && $cword -ge 1 ]] && { upvars+=("$vprev"); upargs+=(-v $vprev "${words[cword - 1]}") }; [[ -n $vwords ]] && { upvars+=("$vwords"); upargs+=(-a${#words[@]} $vwords "${words[@]}") }; (( ${#upvars[@]} )) && local "${upvars[@]}" && _upvars "${upargs[@]}" } $_ENV['dequote'] => () { eval printf %s "$1" 2> /dev/null } $_ENV['_userland'] => () { local userland=$( uname -s ); [[ $userland == @(Linux|GNU/*) ]] && userland=GNU; [[ $userland == $1 ]] } $_ENV['_cd'] => () { local cur prev words cword; _init_completion || return; local IFS=' ' i j k; compopt -o filenames; if [[ -z "${CDPATH:-}" || "$cur" == ?(.)?(.)/* ]]; then _filedir -d; return 0; fi; local -r mark_dirs=$(_rl_enabled mark-directories && echo y); local -r mark_symdirs=$(_rl_enabled mark-symlinked-directories && echo y); for i in ${CDPATH//:/' '}; do k="${#COMPREPLY[@]}"; for j in $( compgen -d $i/$cur ); do if [[ ( -n $mark_symdirs && -h $j || -n $mark_dirs && ! -h $j ) && ! -d ${j#$i/} ]]; then j+="/"; fi; COMPREPLY[k++]=${j#$i/}; done; done; _filedir -d; if [[ ${#COMPREPLY[@]} -eq 1 ]]; then i=${COMPREPLY[0]}; if [[ "$i" == "$cur" && $i != "*/" ]]; then COMPREPLY[0]="${i}/"; fi; fi; return 0 } $_ENV['murder'] => () { kill $1 || kill -9 $1 } $_ENV['HISTCONTROL'] => ignoreboth $_ENV['LC_COLLATE'] => C $_ENV['use'] => () { local _dir _dirs _do=source _done=0 _err _file _lib=uselib; [[ $1 == -e ]] && { _do=${EDITOR:-mcedit -x}; shift }; [[ $1 == -h ]] && { _do=usagetext; shift }; if (( $# )); then _lib=${1%%=*}; [[ $_lib == $1 ]] && shift || set -- ${1#*=} "${@:2}"; fi; IFS=: read -a _dirs <<< ".:$SMS_LIBPATH"; for _file in "$_lib" "MY_$_lib"; do for _dir in "${_dirs[@]}"; do [[ -f $_dir/$_file ]] || continue; if [[ $_file == MY_* ]] && (( ! $_done )); then echo "use: NOTE: 'MY_$_lib' found but not '$_lib' - importing anyway." 1>&2; fi; $_do "$_dir/$_file" "$@"; _err=$?; case $_err in 0) _done=1 ;; 126) _done=2; continue ;; 128) _err=0; continue ;; *) _done=3; echo "use: ERROR($_err) sourcing library '$_file' in '$_dir'." 1>&2 ;; esac; break; done; done; case $_done in 0) echo "use: ERROR: library '$_lib' was not found." 1>&2; return 1 ;; 1) return 0 ;; *) return $_done ;; esac } $_ENV['quote_readline'] => () { local quoted; _quote_readline_by_ref "$1" ret; printf %s "$ret" } $_ENV['__get_cword_at_cursor_by_ref'] => () { local cword words=(); __reassemble_comp_words_by_ref "$1" words cword; local i cur index=$COMP_POINT lead=${COMP_LINE:0:$COMP_POINT}; if [[ $index -gt 0 && ( -n $lead && -n ${lead//[[:space:]]} ) ]]; then cur=$COMP_LINE; for ((i = 0; i <= cword; ++i )) do while [[ ${#cur} -ge ${#words[i]} && "${cur:0:${#words[i]}}" != "${words[i]}" ]]; do cur="${cur:1}"; ((index--)); done; if [[ $i -lt $cword ]]; then local old_size=${#cur}; cur="${cur#"${words[i]}"}"; local new_size=${#cur}; index=$(( index - old_size + new_size )); fi; done; [[ -n $cur && ! -n ${cur//[[:space:]]} ]] && cur=; [[ $index -lt 0 ]] && index=0; fi; local "$2" "$3" "$4" && _upvars -a${#words[@]} $2 "${words[@]}" -v $3 "$cword" -v $4 "${cur:0:$index}" } $_ENV['LESSCHARSET'] => UTF-8 $_ENV['PERLBREW_HOME'] => /home/sesc/.perlbrew $_ENV['BASH_COMPLETION_DIR'] => /opt/etc/common/bash_completion.d $_ENV['PATH'] => /home/sesc/.pyenv/bin:/usr/local/perlbrew/bin:/usr/local/perlbrew/perls/perl-5.24.0/bin:/opt/share/bin/private/b3:/opt/share/bin/private:/opt/share/bin/_linux:/opt/share/bin:/opt/share/bin/FlameGraph:/opt/share/bin/bash_completion.d:/srv/www/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11 $_ENV['_sysvdirs'] => () { sysvdirs=(); [[ -d /etc/rc.d/init.d ]] && sysvdirs+=(/etc/rc.d/init.d); [[ -d /etc/init.d ]] && sysvdirs+=(/etc/init.d); [[ -f /etc/slackware-version ]] && sysvdirs=(/etc/rc.d) } $_ENV['MAKELEVEL'] => 1 $_ENV['PERL5LIB'] => /opt/share/Perl:/opt/share/Perl/contrib $_ENV['mcd'] => () { [[ -n $1 ]] || return; mkdir -p -p "$1" && cd "$1" } $_ENV['_uids'] => () { if type getent &>/dev/null; then COMPREPLY=($( compgen -W '$( getent passwd | cut -d: -f3 )' -- "$cur" )); else if type perl &>/dev/null; then COMPREPLY=($( compgen -W '$( perl -e '"'"'while (($uid) = (getpwent)[2]) { print $uid . "\n" }'"'"' )' -- "$cur" )); else COMPREPLY=($( compgen -W '$( cut -d: -f3 /etc/passwd )' -- "$cur" )); fi; fi } $_ENV['marks'] => () { find "${MARKPATH:?}" -maxdepth 1 -type l -printf "%-32f\t-> %l\n" } $_ENV['PYTHONSTARTUP'] => /opt/share/Python/pythonrc.py $_ENV['LANG'] => en_GB.UTF-8 $_ENV['STY'] => 13119.pts-0.b3 $_ENV['PERLBREW_BASHRC_VERSION'] => 0.76 $_ENV['PERLBREW_PATH'] => /usr/local/perlbrew/bin:/usr/local/perlbrew/perls/perl-5.24.0/bin $_ENV['OPT'] => /opt $_ENV['LS_COLORS'] => di=01;34;47:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36: $_ENV['TEST_PHPDBG_EXECUTABLE'] => /srv/_tmp_/php-7.2.22/sapi/phpdbg/phpdbg $_ENV['mark'] => () { mkdir -p "${MARKPATH:?}"; ln -s "$PWD" "$MARKPATH/$1" } $_ENV['quote'] => () { local quoted=${1//\'/\'\\\'\'}; printf "'%s'" "$quoted" } $_ENV['_upvars'] => () { if ! (( $# )); then echo "${FUNCNAME[0]}: usage: ${FUNCNAME[0]} [-v varname" "value] | [-aN varname [value ...]] ..." 1>&2; return 2; fi; while (( $# )); do case $1 in -a*) [[ -n ${1#-a} ]] || { echo "bash: ${FUNCNAME[0]}: \`$1': missing" "number specifier" 1>&2; return 1 }; printf %d "${1#-a}" &>/dev/null || { echo "bash:" "${FUNCNAME[0]}: \`$1': invalid number specifier" 1>&2; return 1 }; [[ -n "$2" ]] && unset -v "$2" && eval $2=\(\"\${@:3:${1#-a}}\"\) && shift $((${1#-a} + 2)) || { echo "bash: ${FUNCNAME[0]}:" "\`$1${2+ }$2': missing argument(s)" 1>&2; return 1 } ;; -v) [[ -n "$2" ]] && unset -v "$2" && eval $2=\"\$3\" && shift 3 || { echo "bash: ${FUNCNAME[0]}: $1: missing" "argument(s)" 1>&2; return 1 } ;; *) echo "bash: ${FUNCNAME[0]}: $1: invalid option" 1>&2; return 1 ;; esac; done } $_ENV['SSH_AUTH_SOCK'] => deleted $_ENV['_get_first_arg'] => () { local i; arg=; for ((i=1; i < COMP_CWORD; i++ )) do if [[ "${COMP_WORDS[i]}" != -* ]]; then arg=${COMP_WORDS[i]}; break; fi; done } $_ENV['fill'] => () { if [[ $1 == -n ]]; then local NL="-n"; shift; fi; local line; local char="${1:--}"; local times="${2:-((${COLUMNS:=80}-1))}"; for ((i=1; i<=times; i++)) do line="$line$char"; done; echo $NL "$line" } $_ENV['SHELL'] => /bin/bash $_ENV['_filedir_xspec'] => () { local cur prev words cword; _init_completion || return; _expand || return 0; local IFS=' ' xspec=${_xspecs[${1##*/}]} tmp; local -a toks; toks=($( compgen -d -- "$(quote_readline "$cur")" | { while read -r tmp; do printf '%s\n' $tmp done } )); eval xspec="${xspec}"; local matchop=!; if [[ $xspec == !* ]]; then xspec=${xspec#!}; matchop=@; fi; xspec="$matchop($xspec|${xspec^^})"; toks+=($( eval compgen -f -X "!$xspec" -- "\$(quote_readline "\$cur")" | { while read -r tmp; do [[ -n $tmp ]] && printf '%s\n' $tmp done } )); if [[ ${#toks[@]} -ne 0 ]]; then compopt -o filenames; COMPREPLY=("${toks[@]}"); fi } $_ENV['__perlbrew_purify'] => () { local path patharray outsep; IFS=: read -r${BASH_VERSION+a}${ZSH_VERSION+A} patharray <<< "$1"; for path in "${patharray[@]}"; do case "$path" in *"$PERLBREW_HOME"*) ;; *"$PERLBREW_ROOT"*) ;; *) printf '%s' "$outsep$path"; outsep=: ;; esac; done } $_ENV['_upvar'] => () { if unset -v "$1"; then if (( $# == 2 )); then eval $1=\"\$2\"; else eval $1=\(\"\${@:2}\"\); fi; fi } $_ENV['_signals'] => () { local -a sigs=($( compgen -P "$1" -A signal "SIG${cur#$1}" )); COMPREPLY+=("${sigs[@]/#${1}SIG/${1}}") } $_ENV['PROMPT_COMMAND'] => history -a $_ENV['LESSCLOSE'] => /usr/bin/lesspipe %s %s $_ENV['_completion_loader'] => () { local compdir=$BASH_COMPLETION_DIR; . "$compdir/${1##*/}" &>/dev/null && return 124; complete -F _minimal "$1" && return 124 } $_ENV['_init_completion'] => () { local exclude= flag outx errx inx OPTIND=1; while getopts "n:e:o:i:s" flag "$@"; do case $flag in n) exclude+=$OPTARG ;; e) errx=$OPTARG ;; o) outx=$OPTARG ;; i) inx=$OPTARG ;; s) split=false; exclude+== ;; esac; done; COMPREPLY=(); local redir="@(?([0-9])<|?([0-9&])>?(>)|>&)"; _get_comp_words_by_ref -n "$exclude<>&" cur prev words cword; _variables && return 1; if [[ $cur == $redir* || $prev == $redir ]]; then local xspec; case $cur in 2'>'*) xspec=$errx ;; *'>'*) xspec=$outx ;; *'<'*) xspec=$inx ;; *) case $prev in 2'>'*) xspec=$errx ;; *'>'*) xspec=$outx ;; *'<'*) xspec=$inx ;; esac ;; esac; cur="${cur##$redir}"; _filedir $xspec; return 1; fi; local i skip; for ((i=1; i < ${#words[@]}; 1)) do if [[ ${words[i]} == $redir* ]]; then [[ ${words[i]} == $redir ]] && skip=2 || skip=1; words=("${words[@]:0:i}" "${words[@]:i+skip}"); [[ $i -le $cword ]] && cword=$(( cword - skip )); else i=$(( ++i )); fi; done; [[ $cword -le 0 ]] && return 1; prev=${words[cword-1]}; [[ -n ${split-} ]] && _split_longopt && split=true; return 0 } $_ENV['unmark'] => () { rm -i "${MARKPATH:?}/${1:?}" } $_ENV['_backup_glob'] => @(#*#|*@(~|.@(bak|orig|rej|swp|dpkg*|rpm@(orig|new|save)))) $_ENV['bind'] => () { command bind "$@" 2> /dev/null } $_ENV['WINDOW'] => 3 $_ENV['REPLY'] => $_ENV['PERLBREW_PERL'] => perl-5.24.0 $_ENV['_xinetd_services'] => () { local xinetddir=/etc/xinetd.d; if [[ -d $xinetddir ]]; then local restore_nullglob=$(shopt -p nullglob); shopt -s nullglob; local -a svcs=($( printf '%s\n' $xinetddir/!($_backup_glob) )); $restore_nullglob; COMPREPLY+=($( compgen -W '${svcs[@]#$xinetddir/}' -- "$cur" )); fi } $_ENV['_expand'] => () { if [[ "$cur" == \~*/* ]]; then eval cur=$cur 2> /dev/null; else if [[ "$cur" == \~* ]]; then cur=${cur#\~}; COMPREPLY=($( compgen -P '~' -u "$cur" )); [[ ${#COMPREPLY[@]} -eq 1 ]] && eval COMPREPLY[0]=${COMPREPLY[0]}; return ${#COMPREPLY[@]}; fi; fi } $_ENV['_variables'] => () { if [[ $cur =~ ^(\$\{?)([A-Za-z0-9_]*)$ ]]; then [[ $cur == *{* ]] && local suffix=} || local suffix=; COMPREPLY+=($( compgen -P ${BASH_REMATCH[1]} -S "$suffix" -v -- "${BASH_REMATCH[2]}" )); return 0; fi; return 1 } $_ENV['PWD'] => /srv/_tmp_/php-7.2.22 $_ENV['_split_longopt'] => () { if [[ "$cur" == --?*=* ]]; then prev="${cur%%?(\\)=*}"; cur="${cur#*=}"; return 0; fi; return 1 } $_ENV['_rl_enabled'] => () { [[ "$( bind -v )" = *$1+([[:space:]])on* ]] } $_ENV['jump'] => () { cd -P "${MARKPATH:?}/${1:?give a mark}" 2> /dev/null || echo "No such mark: $1" } $_ENV['__reassemble_comp_words_by_ref'] => () { local exclude i j line ref; if [[ -n $1 ]]; then exclude="${1//[^$COMP_WORDBREAKS]}"; fi; eval $3=$COMP_CWORD; if [[ -n $exclude ]]; then line=$COMP_LINE; for ((i=0, j=0; i < ${#COMP_WORDS[@]}; i++, j++)) do while [[ $i -gt 0 && ${COMP_WORDS[$i]} == +([$exclude]) ]]; do [[ $line != [' ']* ]] && (( j >= 2 )) && ((j--)); ref="$2[$j]"; eval $2[$j]=\${!ref}\${COMP_WORDS[i]}; [[ $i == $COMP_CWORD ]] && eval $3=$j; line=${line#*"${COMP_WORDS[$i]}"}; [[ $line == [' ']* ]] && ((j++)); (( $i < ${#COMP_WORDS[@]} - 1)) && ((i++)) || break 2; done; ref="$2[$j]"; eval $2[$j]=\${!ref}\${COMP_WORDS[i]}; line=${line#*"${COMP_WORDS[i]}"}; [[ $i == $COMP_CWORD ]] && eval $3=$j; done; else eval $2=\( \"\${COMP_WORDS[@]}\" \); fi } $_ENV['SSH_CONNECTION'] => deleted $_ENV['__expand_tilde_by_ref'] => () { if [[ ${!1} == \~* ]]; then if [[ ${!1} == */* ]]; then eval $1="${!1/%\/*}"/'${!1#*/}'; else eval $1="${!1}"; fi; fi } $_ENV['__perlbrew_set_env'] => () { local code; code="$($perlbrew_command env $@)" || return $?; eval "$code" } $_ENV['_cd_devices'] => () { COMPREPLY+=($( compgen -f -d -X "!*/?([amrs])cd*" -- "${cur:-/dev/}" )) } $_ENV['g'] => () { local f=${1:?missing filename}; shift; local o=${f%.cpp}; g++ -g -Wall -o $o $f "$@" } $_ENV['gu'] => () { local D I N=${1:-1}; for I in $(echo {1..$N}); do D=../$D; done; cd $D } $_ENV['PYTHONPATH'] => /opt/share/Python:/opt/share/Python/contrib $_ENV['LINES'] => 51 $_ENV['TERMCAP'] => SC|screen|VT 100/ANSI X3.64 virtual terminal:\ :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:\ :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:\ :do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:\ :le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:\ :li#52:co#140:am:xn:xv:LP:sr=\EM:al=\E[L:AL=\E[%dL:\ :cs=\E[%i%d;%dr:dl=\E[M:DL=\E[%dM:dc=\E[P:DC=\E[%dP:\ :im=\E[4h:ei=\E[4l:mi:IC=\E[%d@:ks=\E[?1h\E=:\ :ke=\E[?1l\E>:vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:\ :ti=\E[?1049h:te=\E[?1049l:us=\E[4m:ue=\E[24m:so=\E[3m:\ :se=\E[23m:mb=\E[5m:md=\E[1m:mr=\E[7m:me=\E[m:ms:\ :Co#8:pa#64:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:AX:\ :vb=\Eg:G0:as=\E(0:ae=\E(B:\ :ac=\140\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\ :po=\E[5i:pf=\E[4i:Km=\E[M:k0=\E[10~:k1=\EOP:k2=\EOQ:\ :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:F1=\E[23~:F2=\E[24~:\ :F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:\ :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:kb=:\ :K2=\EOE:kB=\E[Z:kF=\E[1;2B:kR=\E[1;2A:*4=\E[3;2~:\ :*7=\E[1;2F:#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:\ :%e=\E[5;2~:%i=\E[1;2C:kh=\E[1~:@1=\E[1~:kH=\E[4~:\ :@7=\E[4~:kN=\E[6~:kP=\E[5~:kI=\E[2~:kD=\E[3~:ku=\EOA:\ :kd=\EOB:kr=\EOC:kl=\EOD:km: $_ENV['_pnames'] => () { COMPREPLY=($( compgen -X '<defunct>' -W '$( command ps axo command= | \ sed -e "s/ .*//" -e "s:.*/::" -e "s/:$//" -e "s/^[[(-]//" \ -e "s/[])]$//" | sort -u )' -- "$cur" )) } $_ENV['_modules'] => () { local modpath; modpath=/lib/modules/$1; COMPREPLY=($( compgen -W "$( command ls -RL $modpath 2>/dev/null | sed -ne 's/^\(.*\)\.k\{0,1\}o\(\.[gx]z\)\{0,1\}$/\1/p' )" -- "$cur" )) } $_ENV['HISTFILE'] => /home/sesc/.bash_history.experiments/20190922.sh $_ENV['MFLAGS'] => $_ENV['CPATH'] => /usr/local/include $_ENV['CC'] => gcc $_ENV['cm'] => () { local d=$PWD; mkdir -p build && ( cd $(readlink -f build) && { [[ Makefile -nt $d/CMakeList.txt ]] || cmake $CMAKE_OPTIONS $d } && make "$@" ) || return $?; for f in "$@"; do if [[ -f build/$f ]]; then cp build/$f .; fi; done } $_ENV['_dvd_devices'] => () { COMPREPLY+=($( compgen -f -d -X "!*/?(r)dvd*" -- "${cur:-/dev/}" )) } $_ENV['path'] => () { local arg clean elem i p var verbose=0; local -a del push unshift; local OPTARG OPTIND OPTERR; local IFS=:; if [[ $1 != -* ]]; then var=$1; shift; if [[ $ == *\[*\] ]]; then echo ${!var}; return; fi; fi; while getopts "a:cd:p:u:vh" arg; do case $arg in a | u) unshift=($OPTARG ${unshift[@]}) ;; c) clean=1 ;; d) del+=($OPTARG) ;; p) push+=($OPTARG) ;; v) verbose=1 ;; h | \?) usagetext $BASH_SOURCE; return 130 ;; *) echo "Unhandled argument: $arg"; return 10 ;; esac; done; shift $((OPTIND-1)); var=${1:-${var:-PATH}}; p=(${!var}); for elem in ${unshift[@]} ${push[@]}; do for i in ${!p[@]}; do [[ ${p[$i]} == ${elem} ]] && unset p[$i]; done; done; p=(${unshift[@]} ${p[@]} ${push[@]}); if (( $clean )); then for i in ${!p[@]}; do [[ -d ${p[$i]} ]] || unset p[$i]; done; fi; for elem in ${del[@]}; do for i in ${!p[@]}; do [[ ${p[$i]} == ${elem} ]] && unset p[$i]; done; done; if (( verbose || clean+${#del}+${#push}+${#unshift} == 0 )); then for i in ${!p[@]}; do echo ${p[$i]}; done; fi; export $var="${p[*]}" } $_ENV['SMS_LIBPATH'] => /opt/etc/profile.d:/opt/etc/common/profile.d $_ENV['MANPATH'] => /usr/local/perlbrew/perls/perl-5.24.0/man:/opt/share/man:/usr/local/share/man:/usr/share/man $_ENV['_installed_modules'] => () { COMPREPLY=($( compgen -W "$( PATH="$PATH:/sbin" lsmod | awk '{if (NR != 1) print $1}' )" -- "$1" )) } $_ENV['_get_cword'] => () { local LC_CTYPE=C; local cword words; __reassemble_comp_words_by_ref "$1" words cword; if [[ -n ${2//[^0-9]/} ]]; then printf "%s" "${words[cword-$2]}"; else if [[ "${#words[cword]}" -eq 0 || "$COMP_POINT" == "${#COMP_LINE}" ]]; then printf "%s" "${words[cword]}"; else local i; local cur="$COMP_LINE"; local index="$COMP_POINT"; for ((i = 0; i <= cword; ++i )) do while [[ "${#cur}" -ge ${#words[i]} && "${cur:0:${#words[i]}}" != "${words[i]}" ]]; do cur="${cur:1}"; ((index--)); done; if [[ "$i" -lt "$cword" ]]; then local old_size="${#cur}"; cur="${cur#${words[i]}}"; local new_size="${#cur}"; index=$(( index - old_size + new_size )); fi; done; if [[ "${words[cword]:0:${#cur}}" != "$cur" ]]; then printf "%s" "${words[cword]}"; else printf "%s" "${cur:0:$index}"; fi; fi; fi } $_ENV['es'] => () { [[ $1 == -r ]] && { local do=sudo; shift }; (( $# )) || return 1; local f=$(which $1); [[ -e $f ]] && $do $EDITOR $f } $_ENV['EDITOR'] => mcedit -x $_ENV['MARKPATH'] => /home/sesc/.marks PHP License This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net.
Build environment
OS: Linux - Linux b3 2.6.39.4-11 #1 Tue Apr 3 21:45:12 FET 2012 armv5tel Autoconf: autoconf (GNU Autoconf) 2.67 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+/Autoconf: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by David J. MacKenzie and Akim Demaille. Bundled Libtool: ltmain.sh (GNU libtool) 1.5.26 (1.1220.2.492 2008/01/30 06:40:56) Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. System Libtool: ltmain.sh (GNU libtool) 2.2.6b Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiler: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/armv5tel-unknown-linux-gnueabi/4.7.4/lto-wrapper Target: armv5tel-unknown-linux-gnueabi Configured with: ../gcc-4.7.4/configure --prefix=/usr/local --enable-languages=c,c++ Thread model: posix gcc version 4.7.4 (GCC) Bison: bison (GNU Bison) 2.4.1 Written by Robert Corbett and Richard Stallman. Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Libraries: libcrypt.so.1 => /lib/libcrypt.so.1 (0x40353000) libresolv.so.2 => /lib/libresolv.so.2 (0x40103000) librt.so.1 => /lib/librt.so.1 (0x4009d000) libpng12.so.0 => /lib/libpng12.so.0 (0x4000f000) libz.so.1 => /usr/lib/libz.so.1 (0x400e5000) libm.so.6 => /lib/libm.so.6 (0x401b5000) libdl.so.2 => /lib/libdl.so.2 (0x400b2000) libnsl.so.1 => /lib/libnsl.so.1 (0x40117000) libssl.so.1.1 => /usr/local/lib/libssl.so.1.1 (0x40134000) libcrypto.so.1.1 => /usr/local/lib/libcrypto.so.1.1 (0x4038b000) libcurl.so.4 => /usr/local/lib/libcurl.so.4 (0x4027d000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0x4055e000) libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 (0x40070000) libc.so.6 => /lib/libc.so.6 (0x4068d000) libpthread.so.0 => /lib/libpthread.so.0 (0x4018f000) /lib/ld-linux.so.3 (0x400bf000) User's E-mail: *** (truncated on purpose) ***