import.sh
- import bash modules into scripts or into interactive shell
. import.sh MODULE[...]
- import module(s) into script or shellsource import.sh MODULE[...]
- same as above, but with source
instead of .
import.sh --help|-h
- print this help textimport.sh --man
- show manualimport.sh --list
- list modules with their pathimport.sh --summary|-s [MODULE...]
- list module(s) with summaryimport.sh --usage|-u MODULE[...]
- print module help textimport.sh --doc|-d MODULE[...]
- print module documentationImports given module(s) into current shell.
Use:
import.sh --list
- to print list of available modules.import.sh --summary
- to print list of available modules with short description.import.sh --usage MODULE[...]
- to print longer description of given module(s).BASH_MODULES_PATH
- (variable with single path entry, at present time). BASH_MODULES_PATH
can contain multiple directories separated by “:”.
__IMPORT__BASE_PATH
- array with list of your own directories with modules, which will be prepended to module search path. You can set __IMPORT__BASE_PATH
array in script at begining, in /etc/bash-modules/config.sh
, or in ~/.config/bash-modules/config.sh
file.
/etc/bash-modules/config.sh
- system wide configuration file. WARNING: Code in this script will affect all scripts.
Put following snippet into ~/.config/bash-modules/config.sh
file:
# Enable stack trace printing for warnings and errors,
# like with --debug option:
__log__STACKTRACE=="yes"
# Add additional directory to module search path:
BASH_MODULES_PATH="/home/user/my-bash-modules"
~/.config/bash-modules/config.sh
- user configuration file. WARNING: Code in this script will affect all user scripts.IMPORT__BIN_FILE
- script main file name, e.g. /usr/bin/my-script
, as in $0
variable in main file.import::import_module MODULE
- import single module only.
import::import_modules MODULE[...]
- import module(s).
import::list_modules FUNC [MODULE]...
- print various information about module(s). FUNC
is a function to call on each module. Function will be called with two arguments: path to module and module name. Rest of arguments are module names. No arguments means all modules.
import::show_documentation LEVEL PARSER FILE
- print module built-in documentation. This function scans given file for lines with “#>” prefix (or given prefix) and prints them to stdout with prefix stripped.
LEVEL
- documentation level (one line summary, usage, full manual):
#>
and #>>
and #>>>
),#>>
and #>>>
),#>>>
),##
.FILE
- path to file with built-in documentation.