This project has been moved to renault digital.
Welcome to bash-base
A common lib for creating bash script easily like other program language.
- Rich functions to operate array/list/set/string/arguments/reflect/..., the functions can be used in console or script
- Just call bash-base function by name in your script, like other programing language, no need anymore to search "how to ... in bash"
- Parse and validation arguments easily & flexible, automatically generate help usage for your script, focus your script only on the business logical
- Make your script more compact & readability
- Available on github/npm/dockerhub
See CHANGELOG.md
Simply write in console or script:
If to import latest version:
source <(curl -fsSL https://raw.githubusercontent.com/zhang-hongjie/bash-base/master/src/bash-base.sh)
or
eval "$(curl -fsSL https://raw.githubusercontent.com/zhang-hongjie/bash-base/master/src/bash-base.sh)"
If to import specific version:
source <(curl -fsSL https://raw.githubusercontent.com/zhang-hongjie/bash-base/v2.3.1/src/bash-base.sh)
or
eval "$(curl -fsSL https://raw.githubusercontent.com/zhang-hongjie/bash-base/v2.3.1/src/bash-base.sh)
Verify the import in console:
string_trim ' hello '
this way, your script need to access github when each time it launched.
The directory installed is ~/.bash-base
.
- the man page of version v2.3.3:
man bash-base.${version}
, - you can import this version in one line in your script:
source bash-base.v2.3.3 2>/dev/null || curl -o- -L https://raw.githubusercontent.com/zhang-hongjie/bash-base/master/scripts/install.sh | bash -s -- v2.3.3"
but if you want always the latest version, source or install the latest version in console or shell script:
- the man page is:
man bash-base
, - and import like this:
source bash-base 2>/dev/null || curl -o- -L https://raw.githubusercontent.com/zhang-hongjie/bash-base/master/scripts/install.sh | bash
or
source bash-base 2>/dev/null || curl -o- -L https://raw.githubusercontent.com/zhang-hongjie/bash-base/master/scripts/install.sh | bash -s -- latest
this way, your script will access github to check whether a newer version published during every time it launched. if you don't like this behavior, you need to specify a fixed version to use in your script.
source bash-base 2>/dev/null || curl -o- -L https://raw.githubusercontent.com/zhang-hongjie/bash-base/master/scripts/install.sh | bash -s -- latest verify
or
source bash-base 2>/dev/null || curl -o- -L https://raw.githubusercontent.com/zhang-hongjie/bash-base/master/scripts/install.sh | bash -s -- v2.3.3 verify
curl -o- -L https://raw.githubusercontent.com/zhang-hongjie/bash-base/master/scripts/install.sh | bash -s -- uninstall
See npm repackage
npm install -g bash-base
verify the installation
man bash-base
or one line in your script:
# import, and install bash-base from npmjs only if not installed:
source bash-base 2>/dev/null || npm install -g bash-base && source bash-base
To uninstall:
npm uninstall -g bash-base
See docker hub
source <(docker run --rm zhj2074/bash-base)
Or specific a fixed version
source <(docker run --rm zhj2074/bash-base:2.3.2)
download a specific version:
- from NPM: https://registry.npmjs.org/bash-base/-/bash-base-2.3.2.tgz
- from github: https://github.com/zhang-hongjie/bash-base/archive/v2.3.3.tar.gz
See example folder
See reference
See spec folder
MIT.