У меня есть сценарий оболочки (csh) - я его не написал, поэтому не могу его сейчас изменить. Сценарий выполняет много операций с файлами журналов, вызывает другие сценарии на таких языках, как Perl и Tcl, создает новые файлы и вызывает исполняемые файлы. Это хорошо работает из командной строки.
Я хотел бы иметь возможность запускать скрипт из формы HTML (я могу это сделать), работать нормально и выводить текст, который обычно идет в терминал, вместо веб-браузера.
Я на Ubuntu 10.10 и установил lighttpd 1.4.26. Сценарию нужна только одна переменная, переданная ему из HTML.
Это не работает должным образом.
- Я связал
10-cgi.conf
сconf-enabled
. Это должно включить CGI, похоже, для этого. - Я закомментировал
server.username
иserver.groupname
вlighttpd.conf
. Это, очевидно, позволяет серверу запускать скрипты как "root". - Я создал небольшой скрипт, который принимает строку запроса, анализирует ее и вызывает действительно полезный скрипт.
Вот проблемы, которые у меня возникают:
Я добавляю
pwd
и он печатает правильный каталог. Однако на самом деле он не будет использовать этот путь при записи файлов с «>». Мне нужно вручную добавить полный путь для каждого доступа к файлам такого рода - почему?PATH не определен, поэтому ни одна из команд, таких как
head
,tail
,grep
,ifconfig
т.д. Не работает. Я добавил жестко заданный PATH =, который, кажется, работает, но даже тогда некоторые команды просто не работают. Я скопировал тот же PATH, что и у интерактивной оболочки. Есть ли ограничение по длине? Почему нет ПУТИ?Все это связано с тем, что при вызове исполняемых файлов они, похоже, не понимают, где находятся, так как относительные пути ../../ больше не работает.
У меня такое ощущение, что это какое-то разрешение пользователя или интерактивная, а не интерактивная проблема.
Одним из важных замечаний является то, что этого никогда не будет в Интернете, просто локально работающий на небольшой установке с несколькими квалифицированными пользователями. Безопасность не является проблемой, на самом деле.