How do I print some text in bash and pad it with spaces to a certain width?

Use - to left align a field.

printf "Echoing random number %-5s   [ OK ]" $RAND_NUM

Alternatively, if you’re on a Red Hat Linux system there are predefined functions that will print out green OK and red FAILED prompts (the ones you see during bootup):

#!/bin/bash

. /etc/init.d/functions

echo -n "Frobbing widget:"
frob_widget && echo_success || echo_failure
echo

Leave a Comment