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.


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 }'

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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