4

Таким образом, конкретная проблема заключается в том, что я хочу, чтобы файл в моей системе ссылался на URL-адрес http, но использовал бы локальную версию, если нет соединения. Суть в том, что программа, читающая этот файл, будет ожидать css и поэтому по умолчанию не будет запускать любой скрипт доступа / возврата, который я вставил в файл.

Это заставило меня задуматься более широко:
Когда вы обращаетесь к файлу php на веб-сервере, перед чтением содержимого файла интерпретируется скрипт php. Что касается любой программы, обращающейся к файлу, содержимое является выходным (я знаю, что это работает только потому, что вы обращаетесь к нему через http).

Кто-нибудь знает эквивалент для локальных файлов? Я знаю, что могу просто установить apache и использовать локальный http-запрос, чтобы получить именно такое поведение от php, но мне было интересно узнать, возможно ли это без этого.

Я использую Ubuntu 16.04 на случай, если что-то изменится

1 ответ1

3

Я думаю, что файловая система /proc работает аналогичным образом. Следуйте Руководству по программированию модуля ядра Linux.

Или создайте свой собственный FUSE, который будет работать в пространстве пользователя.

редактировать
Есть FUSE, который, кажется, делает именно это: ScriptFS. Его README говорит:

ScriptFS - это новая файловая система, которая просто копирует локальную файловую систему, но заменяет все файлы, обнаруженные как "сценарии", в результате их выполнения.

Любой скрипт поддерживается. При обычном способе работы ScriptFS читает в своей командной строке имена двух программ: одна - интерпретатор сценариев, а другая - облегченная программа, которая быстро сообщает, является ли файл на диске сценарием, который может быть прочитан первая программа.

Я предполагаю, что если вы построите эти две программы правильно, они смогут использовать шебанги.

Примечание: я никогда не использовал ScriptFS (пока).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .