ttys are spawned from
/etc/inittab. By default the lines that spawn them come after the lines that run the
rc scripts. For example, in my (un-customized)
inittab, I have:
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
rc.local is actually sourced before your
ttys are spawned. I don't believe switching the lines so they're the other way around is safe. I think you need to wait for someone more knowledgeable to confirm/refute.
If you're looking for last-minute customization before the users log in, why not drop a script in
/etc/profile.d instead? This will affect shells started from a terminal emulator as well, not just the VTs.