local args = {...} if #args == 0 then error("Usage: cat [file2] [file3...]") end local function ends_with(str, ending) return ending == "" or str:sub(-#ending) == ending end local w,h = term.getSize() local function nextLine() local x,y = term.getCursorPos() if y == h then term.scroll(1) else y = y + 1 end term.setCursorPos(1, y) end for _,path in ipairs(args) do if not fs.exists(path) then error("cat: file not found: " .. path, 0) end local file = fs.open(path, "r") local content = file.readAll() write(content) if not ends_with(content, "\n") then local bg = term.getBackgroundColor() local fg = term.getTextColor() term.setBackgroundColor(colors.white) term.setTextColor(colors.black) term.write("%") term.setBackgroundColor(bg) term.setTextColor(fg) end nextLine() file.close() end