simplifies title generation

This commit is contained in:
2019-05-13 21:29:18 +02:00
parent eb2cc5b01d
commit 161b8e6c6b
2 changed files with 33 additions and 13 deletions

40
main.sh
View File

@@ -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 () {