Uma maneira bem simples seria imprimir a string em uma largura de campo que usa o valor da variável COLUMNS
do terminal, por exemplo
user@pc:~$ str='Hello Alex!'
user@pc:~$ printf '%*s\n' $(( (COLUMNS+${#str})/2 )) "$str"
Hello Alex!
user@pc:~$
Se você quiser algo mais sofisticado, há vários pacotes de "banner" disponíveis, como figlet
user@pc:~$ figlet -c "$str"
_ _ _ _ _ _ _
| | | | ___| | | ___ / \ | | _____ _| |
| |_| |/ _ \ | |/ _ \ / _ \ | |/ _ \ \/ / |
| _ | __/ | | (_) | / ___ \| | __/> <|_|
|_| |_|\___|_|_|\___/ /_/ \_\_|\___/_/\_(_)