Module system
OS & filesystem operations
Functions
| exe (cmd, split_output, suppress_log) | Execute a shell command and return the result | 
| os.copy (src, dest, overwrite, add_rootDir) | Copy a file or directory | 
| os.find (name, starting_directory) | Find a file or directory | 
| os.getcwd (file) | Get the current working directory | 
| os.is_dir (name) | Check if a path is a directory | 
| os.is_file (name) | Check if a path is a file | 
| os.listdir (dirname) | List the contents of a directory | 
| os.path_exists (path) | Check if a path exists | 
| os.path_join (...) | Join one or more paths | 
| os.read_line (f, n, add_rootDir) | Read a single line from a file | 
| os.read_lines (f, add_rootDir) | Read all the lines in a file | 
| os.sizeof (name, add_rootDir) | Get the size of a file or directory | 
| os.sleep (seconds) | Sleep for a certain amount of seconds (millisecond precision) | 
| os.write_line (line, n, name, add_rootDir) | Write a single line to a file | 
| os.write_lines (lines, name, mode, add_rootDir) | Write multiple lines to a file | 
Functions
- exe (cmd, split_output, suppress_log)
- 
    Execute a shell command and return the result
    Parameters:- cmd string or table Unix command to execute. String commands are passed directly to the shell. Table commands are concatenated with the space character. So exe({'ls', 'mydir'}), exe{'ls', 'mydir'} and exe('ls mydir') are all equivalent.
- split_output bool if false then returns the entire stdout as a string, otherwise a table of lines
- suppress_log bool supress logging of executed command
 Returns:
- os.copy (src, dest, overwrite, add_rootDir)
- 
    Copy a file or directory
    Parameters:
- os.find (name, starting_directory)
- 
    Find a file or directory
    Parameters:- name string or table name of file/directory to search for. If you wish to search for a directory then you must pass a table as name. If a table is passed then it must be of the format {type=name, start=starting_directory}, where type is one of f, file, dir or d, and start is an optional value in the table.
- starting_directory string directory in which to begin search (can drastically increase speed)
 Returns:- 
           string
        absolute path if it exists, an empty string otherwise
    
 
- os.getcwd (file)
- 
    Get the current working directory
    Parameters:- file string (Optional) file name to append to end of path
 Returns:- 
           string
        path of current working directory
    
 
- os.is_dir (name)
- 
    Check if a path is a directory
    Parameters:- name string path to check
 Returns:- 
           boolean
        is the path a directory
    
 
- os.is_file (name)
- 
    Check if a path is a file
    Parameters:- name string path to check
 Returns:- 
           boolean
        is the path a file
    
 
- os.listdir (dirname)
- 
    List the contents of a directory
    Parameters:- dirname string path of the directory
 Returns:- 
           table
        sorted table of file names found in dirname
    
 
- os.path_exists (path)
- 
    Check if a path exists
    Parameters:- path string path to check
 Returns:- 
           boolean
        does the path exist
    
 
- os.path_join (...)
- 
    Join one or more paths
    Parameters:- ... file paths to join
 Returns:- 
           string
        concatenated path of all names with the correct number of /s
    
 
- os.read_line (f, n, add_rootDir)
- 
    Read a single line from a file
    Parameters:- f file or string file or filename (see os.read_lines)
- n number line number to read (starts at 1)
- add_rootDir bool should rootDir() be prepended to file name
 Returns:- 
           string
        contents of line at n
    
 
- os.read_lines (f, add_rootDir)
- 
    Read all the lines in a file
    Parameters:- f file or string file object or file name. If a file object is passed, then it is not closed.
- add_rootDir bool should rootDir() be prepended to file name
 Returns:- 
           table
        strings of each line with the newline character removed
    
 
- os.sizeof (name, add_rootDir)
- 
    Get the size of a file or directory
    Parameters:- name path name to check size of
- add_rootDir bool should rootDir() be prepended to file name
 Returns:- 
           number
        size of file/directory at path in bytes
    
 
- os.sleep (seconds)
- 
    Sleep for a certain amount of seconds (millisecond precision)
    Parameters:- seconds number number of seconds to sleep for
 
- os.write_line (line, n, name, add_rootDir)
- 
    Write a single line to a file
    Parameters:
- os.write_lines (lines, name, mode, add_rootDir)
- 
    Write multiple lines to a file
    Parameters: