76 lines
1.7 KiB
Bash
76 lines
1.7 KiB
Bash
# This script contains useful functions to be used
|
|
# in other scripts from colorshell.
|
|
# ----------
|
|
# Made by retrozinndev (João Dias)
|
|
# Licensed under the BSD 3-Clause License
|
|
# From: https://github.com/retrozinndev/colorshell
|
|
|
|
|
|
# -------------
|
|
# The repository's api url
|
|
# -------------
|
|
repo_api_url=https://api.github.com/repos/retrozinndev/colorshell
|
|
|
|
# -------------
|
|
# Sends stdout log with type and message provided
|
|
# in parameters.
|
|
# param $1 (optional) log type (err[or], warn[ing]), if not any of list, print as info
|
|
# param $2 log message
|
|
# -------------
|
|
function Send_log() {
|
|
log_message=`[[ -z $2 ]] && echo $1 || echo $2`
|
|
color="\e[34m"
|
|
log_type="info"
|
|
|
|
case "${1,,}" in
|
|
warn)
|
|
color="\e[33m"
|
|
log_type="warning"
|
|
;;
|
|
|
|
err)
|
|
color="\e[31m"
|
|
log_type="error"
|
|
;;
|
|
esac
|
|
|
|
echo -e "${color}[$log_type]\e[0m $log_message"
|
|
}
|
|
|
|
# -------------
|
|
# Prints retrozinndev/colorshell installation
|
|
# script's welcome header on stdout
|
|
# -------------
|
|
function Print_header() {
|
|
printf "\n"
|
|
echo "#############################"
|
|
echo "## Colorshell Installation ##"
|
|
echo "#############################"
|
|
printf "\n"
|
|
}
|
|
|
|
# -------------
|
|
# Ask a yes/no question to user
|
|
# Input answer is exported as $answer
|
|
# -------------
|
|
function Ask() {
|
|
read -n 1 -p "$@ [y/n] " answer
|
|
printf '\n'
|
|
if [[ ! $answer =~ [yn] ]]; then
|
|
Ask "$@" # restart if different from accepted chars
|
|
fi
|
|
|
|
export answer
|
|
}
|
|
|
|
# -------------
|
|
# Ask the user to choose a number from the provided list
|
|
# Input answer is exported as $answer
|
|
# (this function is not done yet)
|
|
# -------------
|
|
function Choose() {
|
|
read -n 1 -p "$1 [y/n] " r
|
|
printf '\n'
|
|
export answer=$r
|
|
}
|