Finding the Public IP address in a shell script
I'm currently doing this in a script:
EXTERNAL_IP=`curl -s http://whatismyip.org`
There's got to be a built in linux command or something for this, no?
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
No, there is no built-in command, and even the command you suggest may not give you what you want if your NAT device is doing anything more complex then a simple masquerading.
If you mean your source address as the rest of the Internet sees it, then the way you're doing it now is pretty much it. A machine behind a firewall or other device doing NAT will be happily unaware of any address translation done further along.
You might find that http://ifconfig.me is a bit cleaner for what you're after - have a look under the Command Line Interface section on the front page.