Продолжаем беседу об операционной системе OpenOS. В этой записи речь пойдёт про те самые оставшиеся утилиты, которые облегчат жизнь программисту.
Сложность: средне
60%
Скучность: высокая
80%
Дубовость: для продвинутых
65%
Операционная система OpenOS в первую очередь покрывает вопросы (относительно) удобного программирования для OpenComputers. Конечно, это не исключает сторонние редакторы типа Sublime Text или Notepad++, но иметь такие средства нужно и важно. Давайте же я расскажу о них.
УТИЛИТЫ ДЛЯ ПРОГРАММИРОВАНИЯ
Простой перечень утилит с пояснениями.
address
Наипростейшая из наипростейших утилит, может соперничать даже с
print("Hello, world!")
. Просто выводит адрес компьютера. Интереса ради,
пропишите view /bin/address.lua
.
components
Ещё раз я расскажу об этой программке. Она выводит список компонентов,
подключённых к системе. Можно задать фильтр, тогда выведутся только указанные
компоненты. Если же указать ключ -l
(о них в следующей части), то для
каждого компонента будут указываться методы.
dmesg
Данная программа случает все события и выводит информацию о них на экран. Можно указать фильтры событий для прослушивания через пробел.
flash
Та самая программа, которая записывает код на EEPROM. Ключ -l
выводит код
о текущего EEPROM, -r
записывает код в файл, а -q
заставляет не задавать
вопросов.
hostname
Данная программа бессмысленна без пакета network
. Но, тем не менее, она
может устанавливать и выводить текущее имя компьютера.
lua
Если запустить без аргумента или с ключом -i
, то запустится интерактивный
сеанс Lua-интерпретатора, где можно запускать программы. При этом все
библиотеки автоматически переносятся в _G
, так что дополнительно подключать
их не требуется. Если же указать файл, то скрипт предпримет попытку запуститься
и выдаст сообщение при обнаружении ошибки.
primary
Синтаксис: primary <компонент> [адрес]
. Если аргумент [адрес]
опущен, то
выводится информация о первичном компоненте, иначе — предпринимается попытка
сделать данное устройство первичным.
rc
Программа управления сервисами (о них — в следующих частях). Синтаксис:
rc <сервис> [команда] [аргументы]
.
redstone
Предоставляет простой интерфейс управления редстоун-сигналами на первичной
ред-карте/ред-блоке. По умолчанию синтаксис следующий:
redstone <сторона> [значение]
. Если [значение]
не задано, выводится
информация о текущем. Иначе — устанавливается.
Для многожильных кабелей синтаксис следующий:
redstone -b <сторона> <цвет> [значение]
. Работа необязательного аргумента
такая же.
Для блоков, предоставляющих интерфейс беспроводной передачи ред-сигнала, команды следующие:
redstone -w [сила]
. Если[сила]
задана, устанавливается значение на беспроводном передатчике. Иначе — выводится текущее значение силы.redstone -f [частота]
. Устанавливает частоту, если задан аргумент, иначе — выводит текущую.
sh
Запускает сеанс командной строки, если не передано аргументов и io.stdin
не перенаправлен. Иначе — читает команды из этого потока и выполняет их.
umount
Синтаксис: umount <точка монтирования>
. Отмонтирует устройство по
данной точке монтирования.
Вот так. Следующая часть целиком и полностью посвящена шеллу, ему родимому.
Это: переменные окружения, алиасы, ключи, аргументы, особенности работы шелла
и прочее.
Пока жду комментариев по этой части, пишите, если что-то непонятно.