Bonsoir,
Apres avoir cherché un bout de temps, je me resouds a demander de l'aide:
j'ai un fichier perl executé en cgi sur mon serveur web.
je veux qu'une variable perl recupere le resultat d'un programme en bash:
j'ai donc ca
Code :
- $OS=`../script/recup_os.sh $new_host`;
|
si j'execute dans un shell recup_os.sh 192.168.0.1 par exemple, ca me retourne un mot (en l'occurence "Linux" car c'est le resultat d'un uname)
dans mon script perl je fais un:
et:
Code :
- OS <INPUT TYPE="text" NAME="host_os" SIZE=25 value="$OS" readonly="readonly"></BR>
|
Si j'execute mon script perl dans un shell, tout se passe bien:
Content-Type: text/html; charset=ISO-8859-1
Code :
- <!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
- <head>
- <title>Recuperation de l'os</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- </head>
- <body>
- test zob: accessible.
- OS = Linux <FORM ACTION="insert_new-host.pl" METHOD=POST>
- <H1><DIV ALIGN="center">Enregistrement d'un nouveau client</DIV></H1>
- Serveur client <INPUT TYPE="text" NAME="new_host" SIZE=25 value="zob" readonly="readonly"></BR>
- OS <INPUT TYPE="text" NAME="host_os" SIZE=25 value="Linux" readonly="readonly"></BR>
- DESCRIPTION <INPUT TYPE="text" NAME="host_comment" SIZE=30 >
- <P>
- <INPUT TYPE="submit" VALUE="Valider">
- <INPUT TYPE="reset" VALUE="Effacer">
- </FORM>
- </body>
- </html>
|
Par contre dans mon navigateur WEB:
$OS renvoie vide, j'ai:
Code :
- test zob: accessible.
- OS = <!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
- <head>
- <title>Untitled Document</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- </head>
- <body>
- <FORM ACTION="insert_new-host.pl" METHOD=POST>
- <H1><DIV ALIGN="center">Enregistrement d'un nouveau client</DIV></H1>
- Serveur client <INPUT TYPE="text" NAME="new_host" SIZE=25 value="zob" readonly="readonly"></BR>
- OS <INPUT TYPE="text" NAME="host_os" SIZE=25 value="" readonly="readonly"></BR>
- DESCRIPTION <INPUT TYPE="text" NAME="host_comment" SIZE=30 >
- <P>
- <INPUT TYPE="submit" VALUE="Valider">
- <INPUT TYPE="reset" VALUE="Effacer">
- </FORM>
- </body>
- </html>
|
Mon script bash se termine comme ceci:
Code :
- CMD="uname"
- OS=`ssh "$USER"@"$HOST" "$CMD" | sed -n '$p'`
- echo -n $OS
|
si je m'amuse a mettre "echo ESSSSSSSSSAAAAI", et bien cette fois ci la variable $OS est bien interpreté dans le navigateur.
Je seche ...
PS: je me penche aussi sur NET::SSH::Perl