我試圖實現下面的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