As you can see, it just iterates over the number of lines in the logo array: for i in "${!logo[@]}"; do
And the logo array has 10 lines, so only 10 lines will be printed:
168 local logo=(
169 "${fgred} .***. "
170 "${fgred} ***${bfgwht}*${fgred}* "
171 "${fgred} \`***' "
172 "${bfgwht} |*| "
173 "${bfgwht} |*| "
174 " ${bfgred}..${bfgwht}|*|${bfgred}.. "
175 "${bfgred}.*** ${bfgwht}*${bfgred} ***."
176 "${bfgred}*******${fggrn}@@${bfgred}**"
177 "${fgred}\`*${bfgred}****${bfgylw}@@${bfgred}*${fgred}*'"
178 "${fgred} \`*******'${fgrst} "
179 "${fgred} \`\"\"\"'${fgrst} "
180 )
Assuming you've renumbered the out loop from 1 to 12 so that it ends:
220 12)
221 out+="${fgwht}The RetroPie Project, https://retropie.org.uk"
222 ;;
Just add two more lines to the logo with the correct spacing:
180 " "
181 " "
182 )
Now it works fine:
pi@retropie:~ $ source .bashrc
.***. Sunday, 18 September 2016, 10:39:06 PM
***** Linux 4.4.13-v7+ armv7l GNU/Linux
`***'
|*| Filesystem Size Used Avail Use% Mounted on
|*| /dev/root 59G 14G 43G 24% /
..|*|.. Bachelor Chow
.*** * ***. Now with flavor!
*******@@** Uptime.............: 9 days, 18h56m29s
`*****@@**' Memory.............: 28872kB (Free) / 752872kB (Total)
`*******' Running Processes..: 125
`"""' IP Address.........: 192.168.1.202
Temperature........: CPU: 54°C/129°F GPU: 54°C/129°F
The RetroPie Project, https://retropie.org.uk
Learn bash scripting and you can do many things on Linux :) http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html