Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am creating a shell script that should do some local settings and echo the IP of the machine in a text file. The reason I need to do this is to get the IP in a PHP script and use it from there as root for a site.

I can get the IP using ifconfig but I need to strip the useless information. I'd like to do this in the shell script not in the PHP file.

The OS is CentOS 5.5, I need the IP of eth0.

share|improve this question
up vote 2 down vote accepted

Well ip -4 -o addr show dev eth0 will get you a reasonably nice one line output showing the address but it will need some parsing to extract the address. Something like this should work:

ip -4 -o addr show dev eth0 | awk '{ gsub(/\/[0-9]+$/, "", $4); print $4 }'
share|improve this answer

I personally will break the tie between the shell script and the php script to avoid both tightly coupled. If it is the servers IP address you want then, fire your script separately and obtain the servers IP programmatically. You can do this as instructed here. This way you only have logical dependence on the shell script.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.