
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
@renault-digital/bash-base
Advanced tools
No more spending time searching the special ways of bash for basic operations like "how to replace a string in bash", then compare, choose, and test among many potential solutions.
Bash-base does this for you, you can just call the function here which is well tested and stable, and only focus you on the high level logic. Writing your script with less time, but more readability.
Available on GitHub, NPM and Docker Hub.
Creat a sample script example_docker.sh
with the following content:
#!/usr/bin/env bash
source <(docker run renaultdigital/bash-base)
SHORT_DESC='an example shell script to show how to use bash-base '
args_parse $# "$@" firstName sex
args_valid_or_read firstName '^[A-Za-z ]{2,}$' "Your first name (only letters)"
args_valid_or_select_pipe sex 'Mr.|Mrs' "Your sex"
confirm_to_continue firstName sex
print_success "Hello $sex $(string_upper_first "$firstName"), nice to meet you."
Assign the execute
right to it:
chmod +x example_docker.sh
Run it:
# One line to import & download if not yet:
source <(docker run --rm renaultdigital/bash-base)
# To specify a version
source <(docker run --rm renaultdigital/bash-base:1.0.2)
# Update or uninstall
docker rmi -f renaultdigital/bash-base
# Install the latest
npm i -g @renault-digital/bash-base
# To specify a version
npm i @renault-digital/bash-base@1.6.0
# One line to import & install if not yet:
source bash-base 2>/dev/null || npm i -g @renault-digital/bash-base && source bash-base
# Verify the installation
man bash-base
# Uninstall
npm uninstall -g @renault-digital/bash-base
# Install from master branch
basher install renault-digital/bash-base
# To specify a version
basher install renault-digital/bash-base@v1.0.2
# Verify the installation
man bash-base
# Uninstall
basher uninstall renault-digital/bash-base
# Install the latest
curl -fsSL https://git.io/bashbase-i | bash
~/.bash-base
.https://git.io/bashbase-i
is redirected to install.sh# or with wget
wget -O- https://git.io/bashbase-i | bash
# Verify the installation
man bash-base
# Uninstall all versions
curl -fsSL https://git.io/bashbase-i | bash -s uninstall
To specify a version:
curl -fsSL https://git.io/bashbase-i | bash -s v1.0.2
# Verify the installation
man bash-base.v1.0.2
Check if all functions of bash-base is compatible with current environment when install:
curl -fsSL https://git.io/bashbase-i | bash -s latest verify
curl -fsSL https://git.io/bashbase-i | bash -s v1.0.2 verify
One line to import & install if not yet:
source bash-base 2>/dev/null || curl -fsSL https://git.io/bashbase-i | bash
source bash-base 2>/dev/null || curl -fsSL https://git.io/bashbase-i | bash -s latest verify
source bash-base.v1.0.2 2>/dev/null || curl -fsSL https://git.io/bashbase-i | bash -s v1.0.2
source bash-base.v1.0.2 2>/dev/null || curl -fsSL https://git.io/bashbase-i | bash -s v1.0.2 verify
# Import latest version:
source <(curl -fsSL https://git.io/bashbase)
# or with eval
eval "$(curl -fsSL https://git.io/bashbase)"
# To specify a version
source <(curl -fsSL https://raw.githubusercontent.com/renault-digital/bash-base/v1.0.2/bin/bash-base)
# Verify the import
string_trim ' hello '
See GitHub releases or NPM tarball URLs
The possible values are:
print_error
/print_header
print_warn
/print_args
/print_success
and those by level ERRORprint_info
and those by level ERROR, WARNprint_debug
and those by level ERROR, WARN, INFOLOG_LEVEL=${LOG_LEVEL:-$LOG_LEVEL_INFO}
The default value $LOG_LEVEL_INFO
will be used if no config existed. you can override this default value in shell script
, OS environment
or ci/cd pipeline variables
:
export LOG_LEVEL=$LOG_LEVEL_DEBUG
or
export LOG_LEVEL=1
SHORT_DESC='a bash script using bash-base'
redefine it to show your script short description in the 'NAME' field of generated response for -h argument.
USAGE=''
redefine it in your script only if the generated response for -h argument is not good for you.
See reference
See example folder, including the use case of Makefile
See spec folder
See change log
MIT.
FAQs
A common lib for creating bash script easily.
The npm package @renault-digital/bash-base receives a total of 31 weekly downloads. As such, @renault-digital/bash-base popularity was classified as not popular.
We found that @renault-digital/bash-base demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.