https://www.freedesktop.org/wiki/Software/dbus/
https://www.freedesktop.org/wiki/IntroductionToDBus/
https://www.packtpub.com/mapt/book/application_development/9781849519427/10/ch10lvl1sec126/time-for-action–listening-to-d-bus
https://dbus.freedesktop.org/doc/dbus-specification.html
https://stackoverflow.com/questions/2830858/controlling-gnome-volume-using-dbus
https://dbus.freedesktop.org/doc/dbus-tutorial.html#concepts
https://dbus.freedesktop.org/doc/diagram.svg
https://developer.gnome.org/NetworkManager/stable/spec.html
https://developer.gnome.org/NetworkManager/stable/gdbus-org.freedesktop.NetworkManager.html
http://www.beautifulwork.org/wp-content/uploads/2018/11/dbus.pdf
http://www.beautifulwork.org/wp-content/uploads/2018/11/dbus.docx
Meaning of a function wrapper in python exposure
a look into the bash builtin command named “disown”
[bash light=”true”]
$jobs -l
$ping gnu.org
PING gnu.org (208.118.235.148) 56(84) bytes of data.
64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=1 ttl=53 time=267 ms
64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=2 ttl=53 time=266 ms
64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=3 ttl=53 time=267 ms
64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=4 ttl=53 time=321 ms
64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=5 ttl=53 time=268 ms
^Z
[1]+ Stopped ping gnu.org
$jobs -l
[1]+ 3882 Stopped ping gnu.org
$disown
bash: warning: deleting stopped job 1 with process group 3882
$jobs -l
$ping gnu.org
PING gnu.org (208.118.235.148) 56(84) bytes of data.
64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=1 ttl=53 time=267 ms
64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=2 ttl=53 time=267 ms
^C
— gnu.org ping statistics —
3 packets transmitted, 2 received, 33.3333% packet loss, time 3ms
rtt min/avg/max/mdev = 266.815/266.868/266.921/0.053 ms
$xeyes &
[1] 3885
$jobs -l
[1]+ 3885 Running xeyes &
$jobs -l
[1]+ 3885 Running xeyes &
$disown
$jobs -l
$jobs -l
$fg 1
bash: fg: 1: no such job
$
[/bash]
link: https://www.cyberciti.biz/faq/unix-linux-disown-command-examples-usage-syntax/
Hacking with Makefile for machine architecture detection
# SPDX-License-Identifier: GPL-2.0 INCLUDEDIR := -I. CFLAGS := $(CFLAGS) $(INCLUDEDIR) -Wall -O2 -g TEST_GEN_FILES := adi-test UNAME := $(shell uname -m) all: $(TEST_GEN_FILES) $(TEST_GEN_FILES): adi-test.c ifeq ($(UNAME), sparc64) $(info Machine architecture does match) else $(info exit) $(error Machine architecture does not match) endif TEST_PROGS := drivers_test.sh include ../../lib.mk $(OUTPUT)/adi-test: adi-test.c
Command for PHP information and configuration
[php]
$php –info
phpinfo()
PHP Version => 7.3.0RC3
System => Linux debian 4.17.0-3-amd64 #1 SMP Debian 4.17.17-1 (2018-08-18) x86_64
Build Date => Oct 15 2018 09:53:04
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /etc/php/7.3/cli
Loaded Configuration File => /etc/php/7.3/cli/php.ini
Scan this dir for additional .ini files => /etc/php/7.3/cli/conf.d
Additional .ini files parsed => /etc/php/7.3/cli/conf.d/10-opcache.ini,
/etc/php/7.3/cli/conf.d/10-pdo.ini,
/etc/php/7.3/cli/conf.d/20-calendar.ini,
/etc/php/7.3/cli/conf.d/20-ctype.ini,
/etc/php/7.3/cli/conf.d/20-exif.ini,
/etc/php/7.3/cli/conf.d/20-fileinfo.ini,
/etc/php/7.3/cli/conf.d/20-ftp.ini,
/etc/php/7.3/cli/conf.d/20-gettext.ini,
/etc/php/7.3/cli/conf.d/20-iconv.ini,
/etc/php/7.3/cli/conf.d/20-json.ini,
/etc/php/7.3/cli/conf.d/20-phar.ini,
/etc/php/7.3/cli/conf.d/20-posix.ini,
/etc/php/7.3/cli/conf.d/20-readline.ini,
/etc/php/7.3/cli/conf.d/20-shmop.ini,
/etc/php/7.3/cli/conf.d/20-sockets.ini,
/etc/php/7.3/cli/conf.d/20-sysvmsg.ini,
/etc/php/7.3/cli/conf.d/20-sysvsem.ini,
/etc/php/7.3/cli/conf.d/20-sysvshm.ini,
/etc/php/7.3/cli/conf.d/20-tokenizer.ini
PHP API => 20180731
PHP Extension => 20180731
Zend Extension => 320180731
Zend Extension Build => API320180731,NTS
PHP Extension Build => API20180731,NTS
Debug Build => no
Thread Safety => disabled
Zend Signal Handling => enabled
Zend Memory Manager => enabled
Zend Multibyte Support => disabled
IPv6 Support => enabled
DTrace Support => available, 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.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*
This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.0RC3, Copyright (c) 1999-2018, by Zend Technologies
_______________________________________________________________________
Configuration
calendar
Calendar support => enabled
Core
PHP Version => 7.3.0RC3
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 => Off => Off
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 => Off => Off
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 => 22527 => 22527
expose_php => On => On
extension_dir => /usr/lib/php/20180731 => /usr/lib/php/20180731
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/share/php => .:/usr/share/php
input_encoding => no value => no value
internal_encoding => no value => no value
log_errors => On => On
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 => -1 => -1
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 => GP => GP
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 => Off => Off
SMTP => localhost => localhost
smtp_port => 25 => 25
sys_temp_dir => no value => no value
syslog.facility => LOG_USER => LOG_USER
syslog.filter => no-ctrl => no-ctrl
syslog.ident => php => php
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 => GPCS => GPCS
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
date
date/time support => enabled
timelib version => 2017.06
"Olson" Timezone Database Version => 0.system
Timezone Database => internal
Default timezone => Asia/Calcutta
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
exif
EXIF Support => enabled
Supported EXIF Version => 0220
Supported filetypes => JPEG, TIFF
Multibyte decoding support using mbstring => disabled
Extended EXIF tag formats => Canon, Casio, Fujifilm, Nikon, Olympus, Samsung, Panasonic, DJI, Sony, Pentax, Minolta, Sigma, Foveon, Kyocera, Ricoh, AGFA, Epson
Directive => Local Value => Master Value
exif.decode_jis_intel => JIS => JIS
exif.decode_jis_motorola => JIS => JIS
exif.decode_unicode_intel => UCS-2LE => UCS-2LE
exif.decode_unicode_motorola => UCS-2BE => UCS-2BE
exif.encode_jis => no value => no value
exif.encode_unicode => ISO-8859-15 => ISO-8859-15
fileinfo
fileinfo support => enabled
libmagic => 533
filter
Input Validation and Filtering => enabled
Directive => Local Value => Master Value
filter.default => unsafe_raw => unsafe_raw
filter.default_flags => no value => no value
ftp
FTP support => enabled
FTPS support => enabled
gettext
GetText Support => enabled
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
MHASH support => Enabled
MHASH API Version => Emulated Support
iconv
iconv support => enabled
iconv implementation => glibc
iconv library version => 2.27
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.7.0
libxml
libXML support => active
libXML Compiled Version => 2.9.4
libXML Loaded Version => 20904
libXML streams => enabled
openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.1.1-pre9 (beta) 21 Aug 2018
OpenSSL Header Version => OpenSSL 1.1.1 11 Sep 2018
Openssl default config => /usr/lib/ssl/openssl.cnf
Directive => Local Value => Master Value
openssl.cafile => no value => no value
openssl.capath => no value => no value
pcntl
pcntl support => enabled
pcre
PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 10.31 2018-02-12
PCRE Unicode Version => 10.0.0
PCRE JIT Support => enabled
PCRE JIT Target => x86 64bit (little endian + unaligned)
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 =>
Phar
Phar: PHP Archive support => enabled
Phar API version => 1.1.1
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
gzip compression => enabled
bzip2 compression => disabled (install ext/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
POSIX support => enabled
readline
Readline Support => enabled
Readline library => EditLine wrapper
Directive => Local Value => Master Value
cli.pager => no value => no value
cli.prompt => \b \> => \b \>
Reflection
Reflection => enabled
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 => no value => no value
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_samesite => no value => no value
session.cookie_secure => 0 => 0
session.gc_divisor => 1000 => 1000
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 0 => 0
session.lazy_write => On => On
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => /var/lib/php/sessions => /var/lib/php/sessions
session.serialize_handler => php => php
session.sid_bits_per_character => 5 => 5
session.sid_length => 26 => 26
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
shmop
shmop support => enabled
sockets
Sockets Support => enabled
sodium
sodium support => enabled
libsodium headers version => 1.0.16
libsodium library version => 1.0.16
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
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
sysvmsg
sysvmsg support => enabled
sysvsem
sysvsem support => enabled
sysvshm
sysvshm support => enabled
tokenizer
Tokenizer Support => enabled
Zend OPcache
Opcode Caching => Disabled
Optimization => Disabled
SHM Cache => Enabled
File Cache => Disabled
Startup Failed => Opcode Caching is disabled for CLI
Directive => Local Value => Master Value
opcache.blacklist_filename => no value => no value
opcache.consistency_checks => 0 => 0
opcache.dups_fix => Off => Off
opcache.enable => On => On
opcache.enable_cli => Off => Off
opcache.enable_file_override => Off => Off
opcache.error_log => no value => no value
opcache.file_cache => no value => no value
opcache.file_cache_consistency_checks => 1 => 1
opcache.file_cache_only => 0 => 0
opcache.file_update_protection => 2 => 2
opcache.force_restart_timeout => 180 => 180
opcache.huge_code_pages => Off => Off
opcache.interned_strings_buffer => 8 => 8
opcache.lockfile_path => /tmp => /tmp
opcache.log_verbosity_level => 1 => 1
opcache.max_accelerated_files => 10000 => 10000
opcache.max_file_size => 0 => 0
opcache.max_wasted_percentage => 5 => 5
opcache.memory_consumption => 128 => 128
opcache.opt_debug_level => 0 => 0
opcache.optimization_level => 0x7FFEBFFF => 0x7FFEBFFF
opcache.preferred_memory_model => no value => no value
opcache.protect_memory => 0 => 0
opcache.restrict_api => no value => no value
opcache.revalidate_freq => 2 => 2
opcache.revalidate_path => Off => Off
opcache.save_comments => 1 => 1
opcache.use_cwd => On => On
opcache.validate_permission => Off => Off
opcache.validate_root => Off => Off
opcache.validate_timestamps => On => On
zlib
ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.11
Linked Version => 1.2.11
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
LS_COLORS => rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=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:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=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:*.webm=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:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=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:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
XDG_MENU_PREFIX => gnome-
LANG => en_IN
GDM_LANG => en_IN
DISPLAY => :0
COLORTERM => truecolor
USERNAME => jeffrin
XDG_VTNR => 2
SSH_AUTH_SOCK => /run/user/1000/keyring/ssh
XDG_SESSION_ID => 2
USER => jeffrin
DESKTOP_SESSION => gnome
WAYLAND_DISPLAY => wayland-0
GNOME_TERMINAL_SCREEN => /org/gnome/Terminal/screen/17968f45_b3c5_48d2_86ee_18043bcc6fbb
PWD => /home/jeffrin
HOME => /home/jeffrin
XDG_SESSION_TYPE => wayland
XDG_SESSION_DESKTOP => gnome
GJS_DEBUG_OUTPUT => stderr
no_proxy => localhost,127.0.0.0/8,::1
NO_PROXY => localhost,127.0.0.0/8,::1
TERM => xterm-256color
SHELL => /bin/bash
VTE_VERSION => 5202
XDG_CURRENT_DESKTOP => GNOME
GNOME_TERMINAL_SERVICE => :1.233
XDG_SEAT => seat0
SHLVL => 2
LANGUAGE => en_IN:en
GDMSESSION => gnome
GNOME_DESKTOP_SESSION_ID => this-is-deprecated
LOGNAME => jeffrin
DBUS_SESSION_BUS_ADDRESS => unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR => /run/user/1000
PATH => /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
PS1 => $
XDG_SESSION_COOKIE => 5df7dd9383e6e99784c6def8568d3d04-1539693190.285574-2029708881
GJS_DEBUG_TOPICS => JS ERROR;JS LOG
SESSION_MANAGER => local/debian:@/tmp/.ICE-unix/1464,unix/debian:/tmp/.ICE-unix/1464
_ => /usr/bin/php
PHP Variables
Variable => Value
$_SERVER[‘LS_COLORS’] => rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=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:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=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:*.webm=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:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=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:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
$_SERVER[‘XDG_MENU_PREFIX’] => gnome-
$_SERVER[‘LANG’] => en_IN
$_SERVER[‘GDM_LANG’] => en_IN
$_SERVER[‘DISPLAY’] => :0
$_SERVER[‘COLORTERM’] => truecolor
$_SERVER[‘USERNAME’] => jeffrin
$_SERVER[‘XDG_VTNR’] => 2
$_SERVER[‘SSH_AUTH_SOCK’] => /run/user/1000/keyring/ssh
$_SERVER[‘XDG_SESSION_ID’] => 2
$_SERVER[‘USER’] => jeffrin
$_SERVER[‘DESKTOP_SESSION’] => gnome
$_SERVER[‘WAYLAND_DISPLAY’] => wayland-0
$_SERVER[‘GNOME_TERMINAL_SCREEN’] => /org/gnome/Terminal/screen/17968f45_b3c5_48d2_86ee_18043bcc6fbb
$_SERVER[‘PWD’] => /home/jeffrin
$_SERVER[‘HOME’] => /home/jeffrin
$_SERVER[‘XDG_SESSION_TYPE’] => wayland
$_SERVER[‘XDG_SESSION_DESKTOP’] => gnome
$_SERVER[‘GJS_DEBUG_OUTPUT’] => stderr
$_SERVER[‘no_proxy’] => localhost,127.0.0.0/8,::1
$_SERVER[‘NO_PROXY’] => localhost,127.0.0.0/8,::1
$_SERVER[‘TERM’] => xterm-256color
$_SERVER[‘SHELL’] => /bin/bash
$_SERVER[‘VTE_VERSION’] => 5202
$_SERVER[‘XDG_CURRENT_DESKTOP’] => GNOME
$_SERVER[‘GNOME_TERMINAL_SERVICE’] => :1.233
$_SERVER[‘XDG_SEAT’] => seat0
$_SERVER[‘SHLVL’] => 2
$_SERVER[‘LANGUAGE’] => en_IN:en
$_SERVER[‘GDMSESSION’] => gnome
$_SERVER[‘GNOME_DESKTOP_SESSION_ID’] => this-is-deprecated
$_SERVER[‘LOGNAME’] => jeffrin
$_SERVER[‘DBUS_SESSION_BUS_ADDRESS’] => unix:path=/run/user/1000/bus
$_SERVER[‘XDG_RUNTIME_DIR’] => /run/user/1000
$_SERVER[‘PATH’] => /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
$_SERVER[‘PS1’] => $
$_SERVER[‘XDG_SESSION_COOKIE’] => 5df7dd9383e6e99784c6def8568d3d04-1539693190.285574-2029708881
$_SERVER[‘GJS_DEBUG_TOPICS’] => JS ERROR;JS LOG
$_SERVER[‘SESSION_MANAGER’] => local/debian:@/tmp/.ICE-unix/1464,unix/debian:/tmp/.ICE-unix/1464
$_SERVER[‘_’] => /usr/bin/php
$_SERVER[‘PHP_SELF’] =>
$_SERVER[‘SCRIPT_NAME’] =>
$_SERVER[‘SCRIPT_FILENAME’] =>
$_SERVER[‘PATH_TRANSLATED’] =>
$_SERVER[‘DOCUMENT_ROOT’] =>
$_SERVER[‘REQUEST_TIME_FLOAT’] => 1539721458.8647
$_SERVER[‘REQUEST_TIME’] => 1539721458
$_SERVER[‘argv’] => Array
(
)
$_SERVER[‘argc’] => 0
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.
$
[/php]
Look into bash builtin command named typeset
$typeset -n gree=55 bash: typeset:55': invalid variable name for name reference $typeset -n 55=gree bash: typeset:55=gree': not a valid identifier
$typeset -n gree=pwd
$echo $gree
$echo $pwd
$typeset -n vary=$?
bash: typeset: `0': invalid variable name for name reference
$typeset vary=$?
$echo $vary
1
$echo $vary
1
$echo $?
0
$echo $vary
1
$echo vary
vary
$echo $vary
1
$echo $vary
1
$echo $?
0
$typeset vary=$?
$echo $vary
0
$
$typeset hello $echo $hello
$echo $?
0
$typeset hello
$echo $?
0
$typeset -r hello=1
$typeset hello=2
bash: typeset: hello: readonly variable
$
How to use dirs, pushd and popd commands ?
$pushd upstream-kernel/ ~/upstream-kernel ~ $pwd /home/jeffrin/upstream-kernel $cd .. $pushd temp/ ~/temp ~ ~ $dirs ~/temp ~ ~ $dirs -l /home/jeffrin/temp /home/jeffrin /home/jeffrin $pwd /home/jeffrin/temp $pushd ../upstream-kernel/ ~/upstream-kernel ~/temp ~ ~ $dirs -l /home/jeffrin/upstream-kernel /home/jeffrin/temp /home/jeffrin /home/jeffrin $pushd ../testing/ ~/testing ~/upstream-kernel ~/temp ~ ~ $dirs -l /home/jeffrin/testing /home/jeffrin/upstream-kernel /home/jeffrin/temp /home/jeffrin /home/jeffrin $popd ~/upstream-kernel ~/temp ~ ~ $dirs -l /home/jeffrin/upstream-kernel /home/jeffrin/temp /home/jeffrin /home/jeffrin $popd ~/temp ~ ~ $dirs -l /home/jeffrin/temp /home/jeffrin /home/jeffrin $
finding source code or source file of a typical bash function
$type -a signals
bash: type: signals: not found
$type -a _signals
_signals is a function
_signals ()
{
local -a sigs=($( compgen -P "$1" -A signal "SIG${cur#$1}" ));
COMPREPLY+=("${sigs[@]/#${1}SIG/${1}}")
}
$declare -F _signals
_signals
$shopt -s extdebug
$declare -F _signals
_signals 862 /usr/share/bash-completion/bash_completion
$declare -F _command
_command 1732 /usr/share/bash-completion/bash_completion
$declare -F compgen
$declare -F _grub_dirs
$declare -F _grub_dir
$shopt -s extdebug
$declare -F _grub_dir
$declare -F _grub_dirs
$declare -F __grub_dir
__grub_dir 20 /etc/bash_completion.d/grub
$
$type __grub_dir
__grub_dir is a function
__grub_dir ()
{
local i c=1 boot_dir;
for ((c=1; c <= ${#COMP_WORDS[@]}; c++ ))
do
i="${COMP_WORDS[c]}";
case "$i" in
--boot-directory)
c=$((++c));
i="${COMP_WORDS[c]}";
boot_dir="${i##*=}";
break
;;
esac;
done;
boot_dir=${boot_dir-/boot};
echo "${boot_dir%/}/grub"
}
$__grub_dir
/boot/grub
$__grub_dir --help
/boot/grub
$ech0 $?
bash: ech0: command not found
$echo $?
127
$__grub_dir --help
/boot/grub
$echo $?
0
$
$_command
bash: COMP_WORDS: bad array subscript
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
bash: compopt: not currently executing completion function
$type _command
_command is a function
_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
}
$type -a _command
_command is a function
_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
}
$
compgen builtin command exposure
ABOUT compgen
compgen is bash built-in command and it will show all available commands, aliases, and functions for you.
TYPICAL COMMANDLINE EXPOSURE RELATED
[bash]
$compgen -k
if
then
else
elif
fi
case
esac
for
select
while
until
do
done
in
function
time
{
}
!
[[
]]
coproc
$
$compgen -a
ls
$
$compgen -b
.
:
[
alias
bg
bind
break
builtin
caller
cd
command
compgen
complete
compopt
continue
declare
dirs
disown
echo
enable
eval
exec
exit
export
false
fc
fg
getopts
hash
help
history
jobs
kill
let
local
logout
mapfile
popd
printf
pushd
pwd
read
readarray
readonly
return
set
shift
shopt
source
suspend
test
times
trap
true
type
typeset
ulimit
umask
unalias
unset
wait
$
[/bash]
[bash]
$cat comp.sh
#!/bin/bash
commands=`compgen -c`
let count=1
for i in ${commands[@]}
do
what=`whatis $i`
echo -e "n33[38;5;148m$count. $i: 33[39m"
echo -e "$what"
((count++))
done
$
$bash comp.sh | head
if: nothing appropriate.
n33[38;5;148m1. if: 33[39m
then: nothing appropriate.
n33[38;5;148m2. then: 33[39m
else: nothing appropriate.
n33[38;5;148m3. else: 33[39m
elif: nothing appropriate.
n33[38;5;148m4. elif: 33[39m
fi: nothing appropriate.
n33[38;5;148m5. fi: 33[39m
case: nothing appropriate.
$
[/bash]
LINKS
https://www.cyberciti.biz/open-source/command-line-hacks/compgen-linux-command/
https://www.gnu.org/software/bash/manual/html_node/A-Programmable-Completion-Example.html
bash builtin command named command
$pwd
/home/jeffrin/upstream-kernel
$tail ~/.bashrc
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
export PS1=$
function ls {
pwd
}
$ls
/home/jeffrin/upstream-kernel
$command ls
0002-Testing-script-for-Intel-P-State-driver-crashes-duri.patch linux linux-kselftest linux-kselftest.bup linux-kselftest.bup2 linux-next linux.old
$