[CentOS] Define an alias with an embeded awk command error ?

Alexander Dalloz ad+lists at uni-x.org
Sat Mar 6 12:34:14 UTC 2010


Am 06.03.2010 09:47, schrieb sync:
> Hi, guys:
> 
>    I'm trying to define an alias in .cshrc  with the embeded awk command,
> like this :
> 
> alias checketh0  "ip add ls eth0 |awk '/inet/{print $2}' |sed -n '1p' "
> 
> Then i run "source ~/.cshrc" and run "checketh0" command in the terminal ,
> but the result is the following :
> 
>    " inet 192.168.18.18/24 brd 192.168.18.255 scope global eth0"
> 
> but i want  this result :
> 192.168.18.18/24
> 
> 
> How do I do it ? Any help will be highly appreciated.
> 
> 
> Thanks for you help ~

Within your awk statement the "$2" is eaten and thus awk prints the
whole line.

You can bypass this using following in your .cshrc

set eth0=`/sbin/ip addr ls eth0 | awk '/inet/ { print $2; exit }'`
alias checketh0 "echo $eth0"

Alexander


More information about the CentOS mailing list