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 ~ -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.centos.org/pipermail/centos/attachments/20100306/441fa677/attachment-0002.html>
Alexander Dalloz
2010-Mar-06 12:34 UTC
[CentOS] Define an alias with an embeded awk command error ?
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