OpenComputers/Shell API

Интерфейс предоставляет функции для работы с шеллом. Например, получение текущей рабочей папки, или алиасов шелла.


Возвращает значение заданного алиаса, если он существует. Если нет — возвращает nil.


Задает новый алиас, или обновляет существующий. Если в качестве второго параметра задать nil, алиас будет удален.

Примечание: возможные алиасы не ограничены названиями программ. Вы можете включать также и параметры. К примеру, view это алиас по умолчанию для edit -r.


Возвращает итератор по всем известным алиасам.


Возвращает путь к текущей рабочей папке. Это алиас для os.getenv("PWD").


Задает рабочую папку для программы. Это версия функции os.setenv("PWD", dir).


Возвращает пути поиска, используемые функцией shell.resolve. Результатом может быть несколько путей, разделенных знаком :.

Функция является алиасом к os.getenv("PATH").


Задает пути для поиска. Учтите, что эта функция удаляет заданные ранее пути. Чтобы добавить новый путь, используйте shell.setPath(shell.getPath() .. ":/some/path").

Функция является алиасом к os.setenv("PATH", value).


Функция пытается найти заданный путь. Сначала идет поиск в рабочей папке программы, затем по всем путям поиска (см. getPath/setPath).

Если определён второй параметр — расширение (в этом случае первый должен содержать только имя), и функция не нашла файла по заданному пути, проверяются файлы с расширением, то есть path .. "." .. ext.


Запускает заданную команду. Эта функция вызывает шелл (см. os.getenv("SHELL")) и вводит в него команду. Параметр env определяет таблицу окружения, используемую для вызванного шелла и запущенной программы, к примеру, если вы хотите запустить её в отдельном пространстве (sandbox), или избежать «загромождения» пространства имен вызвавшей программы. Дополнительные аргументы передаются в качестве параметров первой программе, запущенной командой.

Возвращаемое значение аналогично pcall и coroutine.resume: первое значение будет boolean определяющий успех или ошибку. В случае ошибки второе значение будет её текстом. В противном случае остальные значения будут теми данными, которые вернет запущенная командой программа.


Вспомогательный метод, предназначенный для парсинга аргументов. Возвращает две таблицы. Первая содержит «простые» аргументы, вторая — «опции». Опции отличаются наличием символа - перед ними. Опция должна быть длиной в один символ. Несколько символов после - расцениваются как несколько опций.

К примеру, программа вызывается следующим образом: program -abC -d arg1 arg2.

Программа вызывает функцию парсинга: local args, options = shell.parse(...), где переменная args становится равна {"arg1", "arg2"}, а переменная options — {a=true,b=true,C=true,d=true}.


Внимание: функция устарела. Используйте process.running (Process API).

В данной статье используются материалы из статьи «OpenComputers/Shell API» с вики-сайта Minecraft Wiki, расположенного на Фэндоме, и они распространяются согласно лицензии Creative Commons Attribution-Share Alike. Авторы статьи.