there is a better solution.
virtualizing is a much better option. That way you don't have to constantly go back and forth between osx and linux.
Also, if you're only looking to use linux for shell based applications, and have access to a linux server, I would suggest simply logging into that server over ssh to do wahtever you need to. Script and Screen are awesome processes that let you keep your linux applications going on the remote server even when you disconnect your ssh connection. The next time you log in, you can get inside screen and find out the progress.
This is the reason I switched to os-x. I wanted programs that didnt' run on linux but didn't want to run linux. Now an old reliable slackware linux box sits at my home to which I can login from anywhere in the world over ssh and get my linux things done.