Как в .cgi скрипт передать параметр через shell

Как в .cgi скрипт передать параметр через shell

10.07.2013 03:27:04 Просмотров 17 Источник

Есть скрипт (Ubuntu) .cgi ... он выводит страничку Html. В самом html вызов этого скрипта с параметрами написан так (они и работает ок) day_detail.cgi?year=2013&month=07&day=07. Хочу в самой ос сделать вывод в текстовик, для личных нужд. Делаю так через shell: ./day_detail.cgi?year=2013&month=07&day=07 > /var/www/posmotr.txt - выдает ошибку.

Как? спасибо.

У вопроса есть решение - Посмотреть?

https://ru.stackoverflow.com/questions/235430/%d0%9a%d0%b0%d0%ba-%d0%b2-cgi-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-shell#comment235431_235430
какую ошибку?
https://ru.stackoverflow.com/questions/235430/%d0%9a%d0%b0%d0%ba-%d0%b2-cgi-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-shell#comment235434_235430
Что Вы храните в скрипте? Через shell его можно пустить если это соответствующий скрипт.
https://ru.stackoverflow.com/questions/235430/%d0%9a%d0%b0%d0%ba-%d0%b2-cgi-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-shell#comment235447_235430
root@ubuntu-stat:/var/www/lightsquid# ./day_detail.cgi?year=2013&month=07&day=07 > /var/www/posmotr.txt [1] 2778 [2] 2779 bash: ./day_detail.cgi?year=2013: Нет такого файла или каталога [1]- Выход из 127 ./day_detail.cgi?year=2013
https://ru.stackoverflow.com/questions/235430/%d0%9a%d0%b0%d0%ba-%d0%b2-cgi-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-shell#comment235449_235430
скрипт от lightsquid
https://ru.stackoverflow.com/questions/235430/%d0%9a%d0%b0%d0%ba-%d0%b2-cgi-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-shell#comment235450_235430
И правильно выдаёт. Ищет файл day_detail.cgi?year... (и т.д.). И где же он его найдёт?
https://ru.stackoverflow.com/questions/235430/%d0%9a%d0%b0%d0%ba-%d0%b2-cgi-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-shell#comment235457_235430
я это понимаю ... за знаком вопрос стоит передаваемый параметр, что то должно стоять вместо знака вопроса

Ответы - Как в .cgi скрипт передать параметр через shell / Как в .cgi скрипт передать параметр через shell

spirit

10.07.2013 03:53:30

На Вашем месте я бы запускал этот скрипт на веб-сервере, а через него передавал вывод в файл. Но всё зависит от того, что за скрипт у вас, на чем написан и что именно делает.

https://ru.stackoverflow.com/questions/235430/%d0%9a%d0%b0%d0%ba-%d0%b2-cgi-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-shell/235440#comment235445_235440
скрипт не мой, это скрипт от lightsquid (анализатор логов).
https://ru.stackoverflow.com/questions/235430/%d0%9a%d0%b0%d0%ba-%d0%b2-cgi-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-shell/235440#comment235451_235440
Тогда Вам точно это дело заворачивать надо через вебсервер.
https://ru.stackoverflow.com/questions/235430/%d0%9a%d0%b0%d0%ba-%d0%b2-cgi-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-shell/235440#comment235461_235440
на perl скрипт
Является ответом!
falstaf

10.07.2013 05:08:54

Необходимо прежде задать нужные переменные окружения. Как минимум, REQUEST_METHOD и QUERY_STRING, но скрипту могут понадобиться и другие. После чего запускаем:

#!/bin/bash

export REQUEST_METHOD=GET
export QUERY_STRING="year=2013&month=07&day=07"
/path/to/script/directory/script.cgi

Или же, если хочется непосредственно из терминала осуществлять запуск, то попробуйте что-то типа

env REQUEST_METHOD=GET env QUERY_STRING="year=2013&month=07&day=07" ./script.cgi

Разумеется, script.cgi должен иметь +x.

Закрыть X