Ich habe versucht, die Werte durch Ausführen der Befehle "ip -4 route show" zu drucken. Actually running per Befehl gibt es 3 Werte. Während der Programmierung wird die Iteration jedoch zwei Mal ausgeführt. für die dritte Iteration, die null zurückgibt.So verwenden Sie Systembefehle in lua
während in der Kommandozeile ausgeführt wird: nur
[email protected]:/usr/lib/lua/transformer/mapper# ip -4 route show
169.254.1.0/24 dev vlan_lte_mgmt proto kernel scope link src 169.254.1.1
192.168.1.0/24 dev br-lan proto kernel scope link src 192.168.1.1
239.0.0.0/8 dev br-lan scope link
Bei dem Versuch, durch Programm wird die Iteration für 2 mal arbeiten. Die letzte Iteration gibt null zurück.
function M.loadRoutes(onlyDefault)
local routes = {}
local defaultRoute
local i, t, popen = 0, {}, io.popen
local fd = popen("ip -4 route show")
if fd then
for line in fd:lines() do
local fields = {}
fields.destip,fields.ifname,fields.gateway = line:match("(%S+)%s+%S+%s+(%S+)%s+%S+%s+%S+%s+%S+%s+%S+%s+%S+%s+(%S)")
bitte helfen Sie mir, mein Problem zu lösen.