Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/05/2026, à 20:04

fnux

[résolu] Récupération des infos du serveur web dans une variable bash

Bonjour,

J'aimerai savoir comment récupérer dans une variable d'un script bash le retour de la version d'un serveur web :

Pour Apache2, pas de problème :

#!/bin/bash
apache2_version=`apache2 -v`
echo $apache2_version

si le serveur apache2 est installé, celà donne (pour moi sur mon Pi 500+ sous trixie):

apache2_version=`apache2 -v`
Server version: Apache/2.4.66 (Debian) Server built: 2026-03-01T13:26:45

Pour Nginx, je coince !

#!/bin/bash
ngix_version=`nginx -v`
echo $nginx_version

si le serveur nginx est installé, celà donne (toujours pour moi sur mon Pi 500+ sous trixie):

nginx_version=`nginx -v`
nginx version: nginx/1.26.3

~

Dans ce cas, la commande [nginx_version=`nginx -v`] s'exécute (s'affiche à l'écran) malgré l'usage des quotes inversées ( ` ), mais la variable $nginx_version est vide !

Que dois-je faire alors :

a) pour que la commande [nginx_version=`nginx -v`] ne s'affiche pas à l'écran, et
b) pour récupérer la réponse de cette commande dans la variable $nginx_version

Merci d'avance de votre aide car je planche sur ça depuis un bon moment sans trouver de solution.

Cheers.

Dernière modification par fnux (Le 19/05/2026, à 22:40)


N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately

Hors ligne

#2 Le 19/05/2026, à 20:28

Watael

Re : [résolu] Récupération des infos du serveur web dans une variable bash

salut,

certains programmes redirigent l'affichage de leur version vers la sortie d'erreur (stderr, fd2).
il faut donc rediriger la sortie d'erreur vers la sortie standard :

nginxVersion=$(nginx -v 2>&1)

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 19/05/2026, à 20:55

RaphaelG

Re : [résolu] Récupération des infos du serveur web dans une variable bash

C'est bizarre ton truc.

Lance directerment depuis un terminal :

nginx -v

et montre nous comment tu lances ton script. Je veux tout : ton prompt de départ, la commande que tu tapes, le retour de la commande et le prompt qui te rend la main.

En tout cas je ne vois pas de différence sur les retours de ton script appache et de ton script nginx.

Dernière modification par RaphaelG (Le 19/05/2026, à 20:56)

Hors ligne

#4 Le 19/05/2026, à 22:12

fnux

Re : [résolu] Récupération des infos du serveur web dans une variable bash

Bonsoir RaphaelG,

Merci de ton retour.

RaphaelG a écrit :

C'est bizarre ton truc.
Lance directerment depuis un terminal :

nginx -v

et montre nous comment tu lances ton script. Je veux tout : ton prompt de départ, la commande que tu tapes, le retour de la commande et le prompt qui te rend la main.

En tout cas je ne vois pas de différence sur les retours de ton script appache et de ton script nginx.

Désolé si tu ne vois pas la différence, mais le retour que je montre pour Nginx a deux lignes de plus (dont la dernière avec ~ pour visualiser la réponse vide qui aurait du s'afficher avant).

Donc, voici un petit exemple rien que pour toi qui montre bien que la commande [nginx_version=`nginx -v` ] s'affiche dans la console, mais que la variable $nginx_version est "vide".

Source complet du script de démo (test-servers.sh)

#!/bin/bash
#
# file: test-servers.sh
# date: Tue 19 May  22:09 CEST 2026
#
echo ""
date
echo "@ RaphaelG"
echo ""
echo "Pour Apache2:"
apache2_version=`apache2 -v`
echo "Le serveur Apache2 répond: $apache2_version"
echo "Pour Nginx:"
nginx_version=`nginx -v`
echo "Le serveur Nginx répond: $nginx_version"
exit

et voici l'exécution avec les prompts :

fnux@PiOS:~/work-trixie $ ./test-servers.sh

Tue 19 May 22:10:12 CEST 2026
@ RaphaelG

Pour Apache2:
Le serveur Apache2 répond: Server version: Apache/2.4.66 (Debian)
Server built:   2026-03-01T13:26:45
Pour Nginx:
nginx version: nginx/1.26.3
Le serveur Nginx répond: 
fnux@PiOS:~/work-trixie $ 

J'espère t'avoir convaincu, non ?

Je repose donc la même question.

Merci d'avance de ton aide.


N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately

Hors ligne

#5 Le 19/05/2026, à 22:17

Watael

Re : [résolu] Récupération des infos du serveur web dans une variable bash

j'ai déjà répondu plus haut.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#6 Le 19/05/2026, à 22:38

fnux

Re : [résolu] Récupération des infos du serveur web dans une variable bash

Bonsoir Watael,

Merci de ta réponse,

Watael a écrit :

j'ai déjà répondu plus haut.

mais je répondais à RaphelG.

Pour ceux que ça intéresse, voici le code corrigé par toi :

#!/bin/bash
#
# file: test-servers.sh
# date: Tue 19 May  22:32 CEST 2026
#
echo ""
date
echo "@ Watael"
echo ""
echo "Pour Apache2:"
apache2_version=`apache2 -v`
echo "Le serveur Apache2 répond: $apache2_version"
echo "Pour Nginx:"
nginx_version=$(nginx -v 2>&1)
echo "Le serveur Nginx répond: $nginx_version"
exit

et son exécution "avec les prompts" :

fnux@PiOS:~/work-trixie $ ./test-servers.sh

Tue 19 May 22:34:49 CEST 2026
@ Watael

Pour Apache2:
Le serveur Apache2 répond: Server version: Apache/2.4.66 (Debian)
Server built:   2026-03-01T13:26:45
Pour Nginx:
Le serveur Nginx répond: nginx version: nginx/1.26.3
fnux@PiOS:~/work-trixie $ 

Merci encore.

Je marque [résolu]

Cheers.

Dernière modification par fnux (Le 19/05/2026, à 22:44)


N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately

Hors ligne