加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读