here's how you write a 'spinner'. #!/bin/bash progress=0 while [ $progress -lt 10 ]; do progress=$(($progress+1)) [ "$progress" -ge "4" ] && progress=0 [ "$progress" -eq "0" ] && echo -en "\r\t\t\t\t\t\t\t\t\t/" [ "$progress" -eq "1" ] && echo -en "\r\t\t\t\t\t\t\t\t\t-" [ "$progress" -eq "2" ] && echo -en "\r\t\t\t\t\t\t\t\t\t\\" [ "$progress" -eq "3" ] && echo -en "\r\t\t\t\t\t\t\t\t\t|" sleep 1 done echo '' if processing files, one can use a 'for' loop in place of the 'while' loop above, and turn the spinner one position for each file that gets processed. like: for filename in $listofnames; do <whatever> progress=$(($progress+1)) [ "$progress" -ge "4" ] && progress=0 [ "$progress" -eq "0" ] && echo -en "\r\t\t\t\t\t\t\t\t\t/" [ "$progress" -eq "1" ] && echo -en "\r\t\t\t\t\t\t\t\t\t-" [ "$progress" -eq "2" ] && echo -en "\r\t\t\t\t\t\t\t\t\t\\" [ "$progress" -eq "3" ] && echo -en "\r\t\t\t\t\t\t\t\t\t|" done Carl Soderstrom. -- Network Engineer Real-Time Enterprises www.real-time.com