Библиотеки, бинарники и "path" #1
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Есть встроенная команда
shell.path():По этому списку система сверяется и ищет где расположены программы которые можно запустить прямо из консоли.
Чуть позже надо бы написать в сам
startup.luaпроверку этогоpath, чтобы там была папка/bin.По поводу библиотек, есть модуль
settingsи ее настройкаshell.package_path, у которой строка по типу"?;?.lua;?/init.lua"и тому подобное.Неплохо бы пере-дефайнить и их.
shell.package_pathдоступен только у CraftOS-PC, так что увы, придётся вrequireписать полностью путь до библиотеки, например:что если написать свою реализацию
require?вроде как в CC (и в Lua впринципе) можно заменять глобальные переменные...
также, в
loadfileможно заюзать таблицу заменяющую _G, и туда уже засунуть кастомныйrequireНу я попробовал в
startup.luaнаписать простейшую функцию и заменить ею require...Ожидаемо, не работает.
Сделал коммит связанный с /bin:
4d67656505Я ранее попытался запихнуть добавление /bin в PATH в отдельный бут-скрипт, но почему то там орало что недоступен shell (он равен nil).
Крайне странно. Пока что пришлось сделать его внутри startup.lua.
И учитывая что я не вижу альтернативных решений по поводу библиотек, я закрываю задачу.