Интерфейс предоставляет функции для работы с шеллом. Например, получение текущей рабочей папки, или алиасов шелла.
shell.getAlias(alias: string): stringВозвращает значение заданного алиаса, если он существует. Если нет — возвращает nil.
shell.setAlias(alias: string, value: string or nil)Задает новый алиас, или обновляет существующий. Если в качестве второго параметра задать nil, алиас будет удален.
Примечание: возможные алиасы не ограничены названиями программ. Вы можете включать также и параметры. К примеру, view это алиас по умолчанию для edit -r.
shell.aliases(): functionВозвращает итератор по всем известным алиасам.
shell.getWorkingDirectory(): stringВозвращает путь к текущей рабочей папке. Это алиас для os.getenv("PWD").
shell.setWorkingDirectory(dir: string)Задает рабочую папку для программы. Это версия функции os.setenv("PWD", dir).
shell.getPath(): stringВозвращает пути поиска, используемые функцией shell.resolve. Результатом может быть несколько путей, разделенных знаком :.
Функция является алиасом к os.getenv("PATH").
shell.setPath(value: string)Задает пути для поиска. Учтите, что эта функция удаляет заданные ранее пути. Чтобы добавить новый путь, используйте shell.setPath(shell.getPath() .. ":/some/path").
Функция является алиасом к os.setenv("PATH", value).
shell.resolve(path: string[, ext: string]): stringФункция пытается найти заданный путь. Сначала идет поиск в рабочей папке программы, затем по всем путям поиска (см. getPath/setPath).
Если определён второй параметр — расширение (в этом случае первый должен содержать только имя), и функция не нашла файла по заданному пути, проверяются файлы с расширением, то есть path .. "." .. ext.
shell.execute(command: string, env: table[, ...]): boolean ...Запускает заданную команду. Эта функция вызывает шелл (см. os.getenv("SHELL")) и вводит в него команду. Параметр env определяет таблицу окружения, используемую для вызванного шелла и запущенной программы, к примеру, если вы хотите запустить её в отдельном пространстве (sandbox), или избежать «загромождения» пространства имен вызвавшей программы. Дополнительные аргументы передаются в качестве параметров первой программе, запущенной командой.
Возвращаемое значение аналогично pcall и coroutine.resume: первое значение будет boolean определяющий успех или ошибку. В случае ошибки второе значение будет её текстом. В противном случае остальные значения будут теми данными, которые вернет запущенная командой программа.
shell.parse(...): table, tableВспомогательный метод, предназначенный для парсинга аргументов. Возвращает две таблицы. Первая содержит «простые» аргументы, вторая — «опции». Опции отличаются наличием символа - перед ними. Опция должна быть длиной в один символ. Несколько символов после - расцениваются как несколько опций.
К примеру, программа вызывается следующим образом: program -abC -d arg1 arg2.
Программа вызывает функцию парсинга: local args, options = shell.parse(...), где переменная args становится равна {"arg1", "arg2"}, а переменная options — {a=true,b=true,C=true,d=true}.
shell.running([level: number]): stringВнимание: функция устарела. Используйте process.running (Process API).