>ifconfig rl0
>cut -d" " -f 2
OS Xは使用していないので分かりませんが、普通UNIX系OSだと「man コマンド名」(man ifconfig とか man cut)でコマンドの説明が表示されるのですが表示されませんか?
>ifconfig rl0
ifconfigコマンドを引数なしで実行すると存在する全てのインタフェースについて表示されます。
例
%ifconfig
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
inet 192.168.1.2 netmask 0xffffffff broadcast 192.168.1.2
ether --:--:--:--:--:--
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet XXX.XXX.XXX.XXX netmask 0xfffffc00 broadcast YYY.YYYY.YYY.YYY
ether --:--:--:--:--:--
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
上記だとインタフェースのbge0、rl0、lo0が表示されています。
ifconfigコマンドの引数にインタフェースを指定するとその指定したインタフェースの情報のみ出力されます。
例
%ifconfig rl0
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet XXX.XXX.XXX.XXX netmask 0xfffffc00 broadcast YYY.YYYY.YYY.YYY
ether --:--:--:--:--:--
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
>ifconfig rl0| grep "inet " | cut -d" " -f 2
rl0のインタフェースが存在しない場合、「ifconfig rl0」では何も表示されないので、その場合には上記の通り実行しても何も表示されません。
rl0の部分をご自分の環境にあるインタフェースに置き換えて実行しないと駄目です。
>cut -d" " -f 2
上記の場合、入力された文字列を" "(スペース/空白)で分割し、2番目の内容を用事すると言うことです。
入力が
>inet 192.168.3.64 netmask 0xffffff00 broadcast 192.168.3.255
だと、" "で区切った場合の1番目が「inet」、2番目「192.168.3.64」、3番目が... になるので、「192.168.3.64」が表示されると言うことです。
お礼
ご返答ありがとうございます。 ~|cut -d" " -f 2 で正しく表示出来ました。 ありがとうございました。