BASH CGI выходной xmlrpc - PullRequest
       15

BASH CGI выходной xmlrpc

1 голос
/ 31 октября 2010

У меня есть сценарий Bash:

#! /usr/local/bin/bash
SCGI_SOCKET=unix:///tmp/rpc.socket
echo -n rT $(rtxmlrpc system.client_version)/$(rtxmlrpc system.library_version)
echo -n \ [$(rtcontrol -qosize \* | awk '{ SUM += $1} END { print SUM/1024/1024/1024 }') GiB loaded]
echo -n , D:$(rtxmlrpc to_mb $(rtxmlrpc get_down_total)) MiB
echo -n \ @ $(rtxmlrpc to_kb $(rtxmlrpc get_down_rate)) 
echo -n \ / $(rtxmlrpc to_kb $(rtxmlrpc get_download_rate)) KiB/s
echo -n , U:$(rtxmlrpc to_mb $(rtxmlrpc get_up_total)) MiB
echo -n \ @ $(rtxmlrpc to_kb $(rtxmlrpc get_up_rate)) 
echo -n \ / $(rtxmlrpc to_kb $(rtxmlrpc get_upload_rate)) KiB/s

Он работает нормально, однако завершается, как только завершится. Как я могу заставить его "приостановить" результаты так, как они должны быть? Он работает нормально, если я вывожу его в файл примерно так:

# bash rt.sh > index.html 

По сути, я обращаюсь к этому сценарию оболочки через каталог cgi-bin.Он настроен правильно, но возвращает HTTP 500 ошибку, когда я получаю доступ к этому сценарию ... что я предполагаю, из-за внезапного выхода в конце (т.е. он ничего не выводит).Я проверил эту теорию с помощью простого скрипта bash:

#! /usr/local/bin/bash
echo "test"

Этот вывод "test" в моем браузере ... это означает, что cgi-bin работает правильно, мой основной скрипт bash вызывает HTTP500.

Спасибо

1 Ответ

2 голосов
/ 26 февраля 2011

Просто добавьте это сразу после первой строки:

echo "Content-Type: text/plain; charset=UTF-8"
echo
...