I am trying to identify how safe the free shell accounts provided by the likes of shellmix.com are. I have never used one myself but want to suggest it to someone interested in learning shell programming. Are they safe to use for this purpose? What should I watch out for?
A general rule of thumb I go by is only trust a machine as much as you trust its root user(s), both in terms of technical competence (especially in security), and general trustworthiness. Since it is unlikely you know the admins of shellmix very well, it's probably a bad idea to trust the machine(s) your account is on any more than you would any random box on the Internet. If all you do is write shell scripts and compile the occasional hello world, you should be fine. Assume everything you type into the remote shell can potentially be read by others. Do not put anything you wouldn't want public there, even temporarily. This includes hard-coding personal information or information about your own computer like host names, user names, directory layout, etc. in shell scripts. As mentioned by @SamBisbee in the comments, use a unique password you never reuse for anything else. Also, there are security risks to forwarding X11 connections (i.e.
ssh -X to the shellmix machine) from an untrusted machine so I'd avoid doing that as well.
Have you considered Cygwin? Most likely you can do whatever you're trying to do within the comfort of your Windows OS (and your own machine).
Here is a bash-like shell for Windows, which might be an alternative or extension to a shell account. A benefit is, that you can watch in a GUI-filemanager what effect your mkdir, touch, rmdir ... - commands had from a second perspective.
Another benefit is the rich toolset (grep, sed, awk, ...) of the GNU-toolkit, if you work on Windows. After being used to it, you will be happy not to miss them.