If you are behind a router, then your computer will not know about the public IP address as the router does a network address translation.
If you are not behind a router, you can find it out using ifconfig. Else you could request this website using curl or wget and extract the information you need from it, e.g. using a perl script.
curl -s checkip.dyndns.org | sed -e ‘s/.*Current IP Address: //’ -e ‘s/<.*$//’
or shorter
wget http://ipinfo.io/ip -qO –
should do the trick.