Bash

Print a Boxed Banner

admin by @admin ADMIN
8m ago
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
Wrap a string in a Unicode box for important headers. Auto-sizes to the longest line. Helps milestone messages stand out in long CI logs.
Bash
Raw
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       │
# └─────────────────────┘
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.