Affichage de variables internes à un shell dans un navigateur

Fermé
romegonic Messages postés 28 Date d'inscription lundi 26 juillet 2010 Statut Membre Dernière intervention 17 avril 2014 - Modifié par jipicy le 17/04/2014 à 09:14
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 - 17 avril 2014 à 14:55
Bonjour,

Via un apache, dans un répertoire dédié aux cgi, je lance un script shell, qui fait des actions diverses (création de fichier, de variables, modification, affichage etc ...), mais l'affichage ne se passe pas correctement via un navigateur.

L'exécution de ce shell lancé directement sur la machine unix (AIX / ksh), affiche tout correctement.

En revanche, l'appel de ce script via un navigateur perd certaines variables internes au shell script (et pas d'autres ...)

Bout de code pour illustrer le problème( le exit est posé pour se limiter à la reproduction du problème) :

#!/bin/sh
echo Content-type: text/html
echo

#set -xv

## Initialisations

export LD_LIBRARY_PATH=/usr/local/pkg/lib:$[LD_LIBRARY_PATH]
export oldPATH=$PATH
....
....
## Main ##
# recupération du json correspondant au json_id fourni #
url_base='http://www.google.fr
curl -i -H 'Accept: application/json' -H 'Content-Type: application/json' $url_base > $recu; 

echo $recu
cat $recu
echo '<br>'
objet='sed -n 7p ${recu}'; echo 'Objet : '$objet
exit


Dans ce code, l'affichage fonctionne dans le navigateur, pour echo $recu (nom de fichier) et cat $recu (affichage du contenu du fichier)
En revanche, echo 'Objet : '$objet ne fonctionne que dans la console, pas via un navigateur.

Quelqu'un pourrait m'aider ?
Est-ce un problème de portée de variable ? Comment le résoudre ?
A voir également:

5 réponses

dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
16 avril 2014 à 15:27
hello
le sed est entouré de back-quotes, exécution de ?
essayer avec export object=...
0
romegonic Messages postés 28 Date d'inscription lundi 26 juillet 2010 Statut Membre Dernière intervention 17 avril 2014
17 avril 2014 à 09:11
Bonjour,

Voici le bout de code concernant $objet et les affichages, en cas de lancement via la console, puis via le navigateur (en mode cgi sur l'apache).

Je perd la valeur de objet quand je lance via le navigateur (donc via l'apache)

BOUT DE CODE CONCERNANT OBJET :
******************************
...
echo 'Fichier JSON : '$recu'<br>'

export objet='cat ${recu} |sed -n 7p';
echo 'Objet : '${objet}'<br>';
exit


LANCEMENT EN LIGNE DE COMMANDE : AFFICHAGE
****************************************
Content-type: text/html

JSON id : 533966c2d89602e3b2536793<br>
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
133 399 0 399 0 0 44249 0 --:--:-- --:--:-- --:--:-- 79800
Fichier JSON : /app/list/logs/admin/temp/recu_533966c2d89602e3b2536793_2014_04_17_09_06_06.txt<br>
Objet : {"nom_machine_logique":"quawas1f5","socle":"was_7","nom_serveur":"srvzentest","nom_application":"srvzentest_zentest.ear","nom_ear":"zentest.ear","action":"start","date_creation":"13/03/2014 11:11:11","date_debutjob":"17/04/2014 08:34:07","date_finjob":"17/04/2014 08:34:09","origine":"plugin","status":"success","etape":"startwas","date_etape":"01/04/2014 14:00:00","_id":"533966c2d89602e3b2536793"}<br>


LANCEMENT VIA NAVIGATEUR : AFFICHAGE
**********************************
JSON id : 533966c2d89602e3b2536793
Fichier JSON : /app/list/logs/admin/temp/recu_533966c2d89602e3b2536793_2014_04_17_09_05_45.txt
Objet :


Par ailleurs le fait d'exporter $objet ne fait que le rajouter au PATH et d'afficher l'ensemble des variables d'environnements chargées, ce je ne souhaite pas.
0
romegonic Messages postés 28 Date d'inscription lundi 26 juillet 2010 Statut Membre Dernière intervention 17 avril 2014
17 avril 2014 à 09:13
précision :

en effet il s'agit de back-quote dans :
export objet='cat ${recu} |sed -n 7p';

je suppose que le navigateur n'affiche pas bien les ''
0
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
17 avril 2014 à 11:02
export tout seul affiche les variables, pas suivi d'une assignation
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
17 avril 2014 à 14:55
et
sed -n 7p ${recu}
à la place de
objet='sed -n 7p ${recu}'; echo 'Objet : '$objet
affiche quelque chose ?
0