Bash脚本问题
发布时间:2020-12-16 01:53:19 所属栏目:安全 来源:网络整理
导读:我可以使用我想要的输出运行此命令: ifconfig eth0 | grep HWaddr | awk '{print $5}' 但是,当我将命令设置为变量,并打印变量时,我收到一个错误: CASS_INTERNAL=`ifconfig eth0 | grep HWaddr | awk '{print $5}'`$CASS_INTERNAL 我的内部xxx ip:命令未
我可以使用我想要的输出运行此命令:
ifconfig eth0 | grep HWaddr | awk '{print $5}' 但是,当我将命令设置为变量,并打印变量时,我收到一个错误: CASS_INTERNAL=`ifconfig eth0 | grep HWaddr | awk '{print $5}'` $CASS_INTERNAL 我的内部xxx ip:命令未找到 奇怪的是 – 我的内部IP实际上出现了.如何在不出错的情况下解决这个问题?这应该没关系,但我使用的是最新版本的Ubuntu. 解决方法
好吧,你首先grep HWaddr,所以这一行的第五个字段是有问题的网络适配器的MAC地址 – 而不是你的本地IP地址.
其他人建议解决方案是简单地回显结果,这意味着如果此示例中的eth0在该行执行的那个时间点不可用,则它将不起作用. 根据我的理解,您希望将所需的命令行放在变量中,然后再对其进行评估.这种模式通常称为延迟评估,使用eval内置函数生成possible in bash: #put the desired command in variable CASS_INTERNAL='ifconfig eth0 | grep HWaddr | awk "{print $5}"' # .... #at later on - evaluate its contents! eval $CASS_INTERNAL 11:22:33:aa:bb:cc (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |