bash变量的间接引用出错

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
7rack
帖子: 96
注册时间: 2011-08-17 22:49

bash变量的间接引用出错

#1

帖子 7rack » 2013-10-13 0:38

写个小脚本,根据ip和mask计算网络地址。在

代码: 全选

let "temp=$(echo "$ipaddress" | cut -d "." -f $i) & $(echo "$netmask" | cut -d "." -f $i) "
中,我写成

代码: 全选

let "temp=$(echo "$ipaddress" | awk -F. '{print \$$i}') & $(echo "$netmask" |awk -F. '{print \$$i}' ) "
[/color]运行程序会报错,请问是哪里理解出问题了 :em20
头像
royclark
帖子: 301
注册时间: 2011-05-15 1:01
系统: Debian GNU/Linux sid

Re: bash变量的间接引用出错

#2

帖子 royclark » 2013-10-13 11:02

应该是 awk 中引用 bash 变量的问题。写成下面好像就可以了。

代码: 全选

let "temp=$( echo "$ipaddress" | awk -F. '{ print $"'"$i"'" }' ) & $( echo "$netmask" | awk -F. '{ print $"'"$i"'" }' )" 
头像
7rack
帖子: 96
注册时间: 2011-08-17 22:49

Re: bash变量的间接引用出错

#3

帖子 7rack » 2013-10-13 22:07

royclark 写了:应该是 awk 中引用 bash 变量的问题。写成下面好像就可以了。

代码: 全选

let "temp=$( echo "$ipaddress" | awk -F. '{ print $"'"$i"'" }' ) & $( echo "$netmask" | awk -F. '{ print $"'"$i"'" }' )" 
多谢啦,it's working :em11
回复