У меня есть сценарий 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.
Спасибо