Guest User

redshell

a guest
Jan 5th, 2013
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.88 KB | None | 0 0
  1. rednet.open("right")
  2.  
  3. local client
  4. function myWrite(...)
  5.   rednet.send(client,write)
  6.   rednet.send(client,table.concat({...}," "))
  7. end
  8. function rednetTarget(id)
  9.   client = id
  10.  
  11.   return
  12.   {
  13.     write=function(...) paralell.waitForAll(,) end
  14.     getSize = term.getSize
  15.    }
  16. end
  17. function run(id,prog,...)
  18.   term.redirect(rednetTarget(id))
  19.     local ret = shell.run(prog,...)
  20.   term.restore()
  21.   return ret
  22. end
  23.  
  24. function split(s)
  25.   local t = {}
  26.   for v in string.gmatch(s,"[^%s]+") do
  27.     t[#t+1]=v
  28.   end
  29.   return t
  30. end
  31.  
  32. while true do
  33.   local id,msg = rednet.receive()
  34.   local cmd,args=string.gmatch(msg,"(.-) (.*)$")()
  35.   print("'"..args.."' "..id)
  36.   if args then
  37.     args=split(args)
  38.     print(args[1])
  39.     ret = run(id,cmd,unpack(args))
  40.   else
  41.     ret = run(id,cmd)
  42.   end
  43.   rednet.send(id,tostring(ret))
  44.   rednet.send(id,"end")
  45. end
  46.  
  47.  
  48. rednet.close("right")
Advertisement
Add Comment
Please, Sign In to add comment