lush no longer forks or calls login, has a configurable prompt

This commit is contained in:
Izaya 2017-10-08 01:35:18 +11:00
parent d736491628
commit c5307a7433

View File

@ -1,20 +1,20 @@
local tA = {...}
local si = tA[1]
spawn("lua shell", function() print(pcall(function()
os.setenv("sI",si)
_ENV = shutil.genenv()
coroutine.yield()
log(pcall(login))
print("lush v1/".._VERSION)
while true do
local didexec = false
write((os.getenv("PWD") or "").."> ")
local inp=readln()
if not inp then break end
local rt = {shutil.exec(inp)}
if rt[1] == true then
table.remove(rt,1)
end
print(table.unpack(rt))
local si = tA[1] or os.getenv("sI")
os.setenv("sI",si)
_ENV = shutil.genenv()
print("lush v1/".._VERSION)
os.setenv("PSF",function()
local ps = "["..os.getuid().."@"..net.id.." "..(os.getenv("PWD") or "").."]"
if os.getuid() == "superuser" then ps = ps .. "# " else ps = ps .. "$ " end
return ps end)
while true do
local didexec = false
write(os.getenv("PSF")())
local inp=readln()
if not inp then break end
local rt = {shutil.exec(inp)}
if rt[1] == true then
table.remove(rt,1)
end
end)) end)
print(table.unpack(rt))
end