我试图实现下面的FAKE代码所示的功能:计算净减速率并更新净日志。 可能有人向我展示正确的代码?谢谢。如何将linux shell变量写入文件的给定行?
#!/bin/bash
#check_net.sh
net_link_error_total=33
net_link_ok_total=55
save_link_rate()
{
sed -i '1 cnet_link_error_total=$net_link_error_total' yy.log
sed -i '2 cnet_link_ok_total=$net_link_ok_total' yy.log
net_link_ok_rate=net_link_ok_total/(net_link_ok_total+net_link_error_total) * 100%
sed -e "3c net_link_ok_rate= /$net_link_ok_rate" yy.log
}
save_link_rate
我执行sed -i '2 cnet_link_ok_total=$net_link_ok_total' yy.log
后yy.log是
net_link_error_total=$net_link_error_total
,但我想它是
net_link_error_total=33
。
行'net_link_ok_rate = net_link_ok_total /(net_link_ok_total + net_link_error_total )* 100% '不应该工作正确吗?它不是在算术语境中完成的,不是吗?或者我在这里错过了什么? – Inian
前两行看起来不错。 –
@BeyondOcean前两行?如果你的意思是前两个sed命令,它们不是。这就是为什么你没有看到预期的替代品。 – SLePort