[T-Mobile Samsung Galaxy S II SGH-T989] doug36:
Hello XDA users, deciding to post this here because i figured it could get some use/i could get some feedback

(Placing it in general because i honestly dont think it could work anywhere else)

Basicly over the past few months ive been taking my multiple script for android, & rewriting/compressing into 1 library

& adding features/functionality that i consider useful. This script has never touched a PC, & only been written on android

(BTEP & DroidEdit Pro), & is designed to:

A.) Extend the basic terminals functionality.

B.) Extend customized scripts, & making scripting semi-easier.

C.) Offer multi-device compatibility while keeping origional functionality.

The script is capable of determining all critical variables on initialization, from

partitions (both mount name, & partition number can be easily obtained), OS/ANDROID version/type

Execution mode (source/exec), Autodetect instigator (Eg: boot, script, shell, etc.) If present, Execution level,

Etc, seamlessly before scripts execution, & modify its own execution accordingly.

The script can be used in a similar method to busybox (Eg, can be called directly, or through symlink

(Symbolic link) using functions name, & allows adding multiple switches at runtime which can totaly

Customize execution without touching a configuration (yes, it does support configurations).

Or for script/shell, can be sourced for max performance & increased functionality.

This script is designed to be as native as possible, & only requires busybox/toolbox, & bash (4.1+)

(Systems default/sh) is not sufficient.

Readme (1/2, Read 2nd post):

----------------------------------------------------------------------------------------------------

Table of contents:
1.) Basic information
2.) Installation
3.) Usage
3a.) Basic commandline switches
4.) Included functions & definitions (Execution)
4a.) Included functions & definitions (Source only)

##########################################################################################################

Basic Information 1.

SuperBox is a multi-call, multi-execution function library (think busybox with bash & sourcing),
built on ANDROID, For ANDROID, Designed to increase script efficiency, & offer "unstandard"
multi-device functionality, & some functionality considered "missing" from ANDROID/Linux by default.

##########################################################################################################

Installation 2.

Superbox is designed to be easy to install/use, and requires very few steps/dependancies to install.
Before installing, please check this small list of prerequisites & insure you have the required
dependancies to ensure correct installation, the following are required:

a.) BASH 4.x (4.0+) installed & linked to '/system/bin' & '/system/xbin', Systems default is not
sufficient & cannot support SuperBox in all needed areas.
b.) BusyBox 1.18+ (tested on v1.19.4), Please ensure toolbox is also fully installed.
c.) Device must be rooted & running S-off (insecure kernel, read kernel documentation)
This part can be bypassed if installing through recovery. Some features will be limited.
d.) SuperBox is a terminal/script expansion toolkit, as such, a terminal emulator (Such as BTEP aka:
Better Terminal Emulator Pro, or similar) is recommended for optimal usage.

if your device can meet the above requirements, you are ready to install.
To install, simply move the downloaded script (superbox, or superbox.txt) to either '/system/bin', or
'/system/xbin', if the downloaded file has an extension, remove it.
Set permissions to 755 (rwxr-xr-x), Once complete, open your preferred terminal, & type 'su -c bash'
once in bash, type 'superbox' (or whatever you named the script), or 'superbox --info', if the operation
succeeded without error, you can begin full installation, Simply type either:
'superbox --install', or 'superbox --install <FUNCTION> to fully install, or install specific function.
See section 3a (Basic commandline switches) for full list of available switches, or section 4
(Included functions) for list of executable functions.

##########################################################################################################

Usage: 3.

SuperBox allows multiple methods of execution, & preferred method is left completely up to the user.

Sourcing:
SuperBox can be sourced either in terminal, or script, using something similar to
'. superbox', or '. ./superbox' if kept in unstandard path. if sourcing in terminal & script appears
to continue to execute, Try adding '--noboot' switch (see section 3a).
Script allows extra functionality not typically available in execution mode.

Execution:
this is the most typical use for superbox, & as easy as typing 'superbox <function>' or '<function>'
when fully installed. For list of all available functions, use 'superbox --list' to generate full list
of available applets, Please note that when using '--list' or even app count when using '--info' is
only listing execution type applets, Source functions are NOT included in this list.

----------------------------------------------------------------------------------------------------------

Basic commandline switches 3a.

SuperBox allows adding additional variables through commandline to modify per-execution variables,
Without editing a configuration, or worrying about recurrent changes. These variables effect a wide
range of scripts functions, & are available in 2 levels,

1.) SuperBox switches:
These switches effect the script as a whole, & are listed/added by the double-hyphon prefix ('--')
These are the only switches listed in this readme, for individual functions switches, please use
'superbox <function> --help' or '<function> --help' if fully installed.

1.) Function switches:
These switches only effect the function being processed, & are listed by a single-hyphon ("-"),
These are not available in all functions. Function switches should be used after superbox switches.

SuperBox switches:
The following MUST be passed as MODE & must be called directly from SuperBox, Eg:
'superbox --<MODE>', Not capable of being passed as variable.

install | Usage: '--install <FUNCTION> --installto={PATH}', Generates symbolic link for FUNCTION in
| PATH, if no FUNCTION specified, installs all, if no path, Default is used.
remove | Usage: '--remove <FUNCTION>', Opposite of above, Removes link for specified function.
| Scans system to find symbolic link, use '--full' switch to scan full recursive.
chkbb | Checks install status of busybox, & capable of generating missing links, use '--fix' to
| auto repair any/all missing links.
version | Displays installed SuperBox's version.
list | Lists all included execution-capable functions included in current version.

The following are to be used after mode (function listing), Eg: 'superbox <MODE> --<SWITCH>' or
'<MODE> --<SWITCH> when fully installed.

debug | Forces debugging on script (uses 'set -x' command), applies to script as a whole.
bb/tb | Pre-determines which busybox/toolbox versions to use, Must be used as '--bb=/path/to/file'
| or '--bb/path/to/file', Specifying invalid input will restore defaults when executing.
color | Default Colors for modes allowing color. sets color based on position in strings, Eg:
| '012345678' (upto 9 characters) where: 0=Error, 1=Note/Highlight, 2=Note2, 3=Normal,
| 4=File, 5=Path, 6=Link, 7=Background, 8=border, use pound (#) in place of unused spacing.
| for full listing of colors, Please see 'manfunc Col'
nocolor | Overrides above switch, & disables color in all segments.
installto | Modify install location for current component. (Used as '--installto={PATH}')
| MUST be used after install mode (Effects most file-based sections).
file | Usage: '--file="{/FULL/PATH/TO/FILE}"', used to set file path/name for specific segments
| Only effects segments where single-file processing is key.
local | Usage: '--local=\"{PATH\"', Assign path to use as local directory.
home | Usage: '--home=\"{PATH\"', Assign path to use as home directory, Use above over this.
time | Usage: "--time='{FORMAT}'", Specify time format (see '--timef'), (used for Lecho, etc.).
timefull | Usage: "--timef='{FORMAT}'", Specify full time/date format for script. %Y=4-digit year,
| %m=2-digit month, %d=2-digit day, %H=2-digit hr (24hr), %l=hour (12hr), %M=2-digit min,
| %S=2-digit seconds, %h=print month, %l=hour (12hr), %a=3-char day, %c=full (default).
log | Usage: '--log=<LEVEL>', set logging level/mode for script. *BROKEN, DONT USE*
logfile | Can only be used with '--log' greater then 1. Usage '--logfile=\"{PATH/FILE}\"'
tmpfile | specify temporary file to use for processing some segments.
tmppath | specify temporary path to use when needed for processing some segments.
list | Lists all included execution-level functions in current build.
help | Use immediately after <APPLET> to display information & usage on selected applet, Some
| applets will only display partial information by default, Use '--full' after help to
| display full information on specified function.
fix | Multipurpose switch, Allows bypassing non-critical errors, allows repairing any/all
| fixable errors, & serves to aid some functions.
silent/q | silences most (non-critical) output from STDOUT.

##########################################################################################################

*NOTE

some functions might not be considered 'main stream' or correct, but through trial & error, seem to work

Best with the chosen method.

Some functions are a WiP, might not be functioning correctly.

If you experience an issue, or have a suggestion, Please let me know.

**EDIT**

Updated, most functions should work correctly now.