Fedora/Bash: Get the IP of enp0s3
Following is a small snippet that will print on screen the IP of enp0s3 (or any other device if you change the name) while in Fedora.
As you will see, it is not a very sound solution as it depends on the structure of the output of ifconfig enp0s3
.
Nevertheless is works (for Fedora at least)! 🙂
ifconfig enp0s3 | grep "inet " | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | cut -d ' ' -f 2
What this line does is: first it prints out the configuration information for enp0s3, then finds the line that contains the inet
, then using sed
it will trim the result (in other words, it will remove all leading and all trailing white-space from the pipe), finally cut
gets the second column of the data after separating the line using the space symbol.
The Fedora version that was used for this tutorial is
$cat /etc/fedora-release Fedora release 23 (Twenty Three)
The version of ifconfig for this tutorial is
$ifconfig --version net-tools 2.10-alpha
In case you want to assign the IP of enp0s3 to a variable, you can easily do as follows
IP=`ifconfig enp0s3 | grep "inet " | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | cut -d ' ' -f 2`;