I have seen some other methods but this is my technique using the relatively lightweight sed:
export PS1=`/sbin/ifconfig eth0 | sed -n '0,/^s+inet addr:([0-9]+[.][0-9]+[.][0-9]+[.][0-9]+).*$/s//1/p'`':w$ '
Or you can use whatever interface you want instead of eth0. If left blank then it will display the first interface.
3 responses to “Display IP address in bash shell prompt”
Fail. If you have a router it will only show the computer’s internal IP.
That’s the point. Showing the unique internal IP is typically what you want. It’s useful when managing multiple systems so that you know which machine you are logged into.