2010-10-31 26 views
1

J'ai ce Bash Script:Bash sortie cgi xmlrpc

#! /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 

Il fonctionne très bien, mais il sort dès sa complète.
Comment puis-je le forcer à "mettre en pause" avec les résultats comme ils devraient l'être?
Il fonctionne très bien si je sortie dans un fichier comme ceci:

 # bash rt.sh > index.html

Fondamentalement, je suis d'accéder à ce script shell via un répertoire cgi-bin. Il est configuré correctement, mais il renvoie une erreur HTTP 500 lorsque j'accède à ce script ... ce que je devine à cause de la sortie abrupte à la fin (c'est-à-dire qu'il ne génère rien). Je l'ai testé cette théorie avec un simple script bash avec ceci:

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

Ce émis « test » dans mon navigateur ... ce qui signifie que le cgi-bin fonctionne correctement, est mon principal script bash provoque HTTP 500 .

Merci

+0

Est-ce que votre journal d'erreur du serveur Web dire quoi que ce soit? – HeMan

Répondre

2

simplement ajouter directement après la première ligne:

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