Which of the following commands should be used in a bash script that needs a variable containing the IP address of the eth0 interface? The output for the command ifconfig eth0 is shown below:
eth0 Link encap:Ethernet HWaddr 00:0C:29:CB:FA:30
inet addr:192.168.246.11 Bcast:192.168.246.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4721 errors:0 dropped:0 overruns:0 frame:0 TX packets:3216 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:445184 (434.7 Kb) TX bytes:512968 (500.9 Kb) Interrupt:185 Base address:0x1080
A.
IP=LANG= ifconfig eth0 | awk ‘{ print $2 }’ | cut -f2
B.
IP=`LANG= ifconfig eth0 | grep inet | cut -d: -f2 | awk { print $1 }`
C.
IP=`LANG= ifconfig eth0 | awk ‘{ print $3 }’`
D.
IP=$(LANG= ifconfig eth0 | grep inet | awk ‘{ print $2 }’ | cut -d: -f2) 14
E.
IP=$(LANG= ifconfig eth0 | grep inet | cut -d: -f2)
D WOULD work, if there’s no “14” behind,
B would work, would the awk command look like this: awk ‘{ print S1 }’
Can someone explain that better to me?
B & D do the same except the “14” string at the end of D, this will produce an error