#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_versionsi 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:45Pour Nginx, je coince !
#!/bin/bash
ngix_version=`nginx -v`
echo $nginx_versionsi 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 -vet 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.
C'est bizarre ton truc.
Lance directerment depuis un terminal :nginx -vet 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"
exitet 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,
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"
exitet 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