banner() {
local IFS=$'\n'
local -a lines=($*)
local max=0 len
for l in "${lines[@]}"; do
len=${#l}
(( len > max )) && max=$len
done
local bar
bar=$(printf '─%.0s' $(seq 1 $((max + 2))))
printf "┌%s┐\n" "$bar"
for l in "${lines[@]}"; do
printf "│ %-*s │\n" "$max" "$l"
done
printf "└%s┘\n" "$bar"
}
banner "Deploy completed" \
"Version: v2.3.1" \
"Duration: 47s"
# ┌─────────────────────┐
# │ Deploy completed │
# │ Version: v2.3.1 │
# │ Duration: 47s │
# └─────────────────────┘
Create a free account and build your private vault. Share publicly whenever you want.