作业帮 > 综合 > 作业

linux shell echo GUESS_IPV4_IF=$(ip route show | grep defaul

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/15 13:18:55
linux shell echo GUESS_IPV4_IF=$(ip route show | grep default | head -1 | sed -r 's/.+dev ([^ ]+
echo
GUESS_IPV4_IF=$(ip route show | grep default | head -1 | sed -r 's/.+dev ([^ ]+) .+/\1/')
GUESS_PRIMARY_IPV4=$(ip addr show primary | grep "inet " | awk '{print $2}' | sed -r 's/\/[0-9]+$//' | tail -1)
linux shell echo GUESS_IPV4_IF=$(ip route show | grep defaul
1) echo 输出一个空行
2) GUESS_IPV4_IF=$(ip route show | grep default | head -1 | sed -r 's/.+dev ([^ ]+) .+/\1/')
将本机默认网关 和 网卡赋值给GUESS_IPV4_IF变量(例如:default via 192.168.2.1 dev eth0 默认网关为192.168.2.1 网卡为 eth0)
3) GUESS_PRIMARY_IPV4=$(ip addr show primary | grep "inet " | awk '{print $2}' | sed -r 's/\/[0-9]+$//' | tail -1) 将本机的ip地址赋值给GUESS_PRIMARY_IPV4变量(例如:192.168.2.92)
再问: echo后面是GUESS_IPV4_IF=$(ip route show | grep default | head -1 | sed -r 's/.+dev ([^ ]+) .+/\1/') GUESS_PRIMARY_IPV4=$(ip addr show primary | grep "inet " | awk '{print $2}' | sed -r 's/\/[0-9]+$//' | tail -1) 为什么不是输出GUESS_IPV4_IF和GUESS_PRIMARY_IPV4,而是输出一个空行呢?
再答: 你写的echo后面没有跟东西啊 如果你想输出GUESS_IPV4_IF和GUESS_PRIMARY_IPV4,你应该 echo $GUESS_IPV4_IF ($表示取变量的值,也就是GUESS_IPV4_IF的内容) ehco $GUESS_PRIMARY_IPV4
再问: 我是问为什么不是输出GUESS_IPV4_IF=$(ip route show | grep default | head -1 | sed -r 's/.+dev ([^ ]+) .+/\1/') GUESS_PRIMARY_IPV4=$(ip addr show primary | grep "inet " | awk '{print $2}' | sed -r 's/\/[0-9]+$//' | tail -1)
再答: 我不明白你是什么意思 echo是输出 你echo后面没有跟东西当然是输出一个空行如果你想输出 GUESS_IPV4_IF=$(ip route show | grep default | head -1 | sed -r 's/.+dev ([^ ]+) .+/\1/') GUESS_PRIMARY_IPV4=$(ip addr show primary | grep "inet " | awk '{print $2}' | sed -r 's/\/[0-9]+$//' | tail -1) 你应该加上引号 echo " GUESS_IPV4_IF=$(ip route show | grep default | head -1 | sed -r 's/.+dev ([^ ]+) .+/\1/') GUESS_PRIMARY_IPV4=$(ip addr show primary | grep "inet " | awk '{print $2}' | sed -r 's/\/[0-9]+$//' | tail -1) " 如果你想输出GUESS_IPV4_IF和GUESS_PRIMARY_IPV4的值 你应该在给GUESS_IPV4_IF和GUESS_PRIMARY_IPV4赋值以后这样输出: echo $GUESS_IPV4_IF $GUESS_PRIMARY_IPV4 如果你想知道程序逻辑为什么不输出 GUESS_IPV4_IF=$(ip route show | grep default | head -1 | sed -r 's/.+dev ([^ ]+) .+/\1/') GUESS_PRIMARY_IPV4=$(ip addr show primary | grep "inet " | awk '{print $2}' | sed -r 's/\/[0-9]+$//' | tail -1) 这个我也不知道,因为我没看到你的程序.上面这两句只是给GUESS_IPV4_IF和GUESS_PRIMARY_IPV4两个变量赋值