simplifies title generation
This commit is contained in:
40
main.sh
40
main.sh
@@ -6,26 +6,48 @@ error="$(tput setab 1)$(tput bold)"
|
||||
underline=$(tput smul)
|
||||
reset=$(tput sgr0)
|
||||
|
||||
# Set pipefail option
|
||||
set -o pipefail
|
||||
export BOG_TITLE_PRINTED=0
|
||||
|
||||
title () {
|
||||
read title
|
||||
echo " *************************************"
|
||||
# Set pipefail option
|
||||
# Exit status of overall pipe
|
||||
# instead of last one
|
||||
set -o pipefail
|
||||
# Avoid spawning subshell
|
||||
# Needed for title to be able
|
||||
# to be globally updated inside pipe
|
||||
shopt -s lastpipe
|
||||
|
||||
__print_title_header () {
|
||||
echo " *************************** "
|
||||
echo " ********************************* "
|
||||
echo " ****"
|
||||
echo "***** $title"
|
||||
echo "*****"
|
||||
}
|
||||
|
||||
subtitle () {
|
||||
__check_last_pipe_status () {
|
||||
local last_index=$((${#PIPESTATUS[@]}-1))
|
||||
local last_exit_code=${PIPESTATUS[$last_index]}
|
||||
echo "DEBUG: $last_index, $last_exit_code"
|
||||
return last_exit_code
|
||||
}
|
||||
|
||||
title () {
|
||||
if [[ $BOG_TITLE_PRINTED -eq 0 ]]
|
||||
then
|
||||
__print_title_header
|
||||
BOG_TITLE_PRINTED=1
|
||||
fi
|
||||
|
||||
read title
|
||||
echo "***** $title"
|
||||
echo "***** $title"
|
||||
}
|
||||
|
||||
footer () {
|
||||
echo "***** *****"
|
||||
echo "***** END OF SCRIPT *****"
|
||||
echo " **** ****"
|
||||
echo " **** **** "
|
||||
echo " ********************************* "
|
||||
echo " *********************** "
|
||||
}
|
||||
|
||||
section () {
|
||||
|
||||
Reference in New Issue
Block a user