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 22/12/2017, à 22:59

Duanra

[Résolu] Aide pour un débutant en scripting

Bonjour à tous,

J'ai une question toute simple : j'essaie de réaliser un script qui me permettrait d'activer ou désactiver ufw à l'envi, mais je ne comprends pas pourquoi il ne fonctionne pas. J'ai fouillé le web pour comprendre comment mettre le résultat d'une commande dans une variable mais je ne trouve pas la solution.
Je suis sûr que le script est pas bon, qu'il pourrait être 100 fois meilleur mais gardez à l'esprit que c'est plus un "jeu" pour me familiariser avec if...

#!/bin/bash
#Script pour activer ou désactiver ufw
 var=$(sudo ufw status)
 if $var="Status: inactive" ; then
        ufw enable
 elif $var="Status: active" ; then
        ufw disable
 fi
 exit 0

Merci pour l'aide et les explications éventuelles... : )

Dernière modification par Duanra (Le 24/12/2017, à 18:26)

Hors ligne

#2 Le 22/12/2017, à 23:15

Watael

Re : [Résolu] Aide pour un débutant en scripting

salut,

if utilise la structure suivante :

if COMMANDES; then COMMANDES; [ elif COMMANDES; then COMMANDES; ]... [ else COMMANDES; ] fi

or, ton code ne présente pas de commande à if. sad
il faut des espaces autour du signe égal.
il faut que les variables soient entre guillemets.

il faut que tu lises l'ABS (Advanced Bash Scripting guide).


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

Hors ligne

#3 Le 23/12/2017, à 08:24

pingouinux

Re : [Résolu] Aide pour un débutant en scripting

Bonjour,
Pour te dépanner en attendant que tu approfondisses la doc

if [ "$var" = "Status: inactive" ]; then

Hors ligne

#4 Le 23/12/2017, à 09:36

kholo

Re : [Résolu] Aide pour un débutant en scripting

salut,
petite observation :  sudo
2 solutions pour ton script :

1 . ton script est lancé par utilisateur :

./monscript

et tu mets des sudo quand c'est nécessaire dans le script

#!/bin/bash
#Script pour activer ou désactiver ufw
var=$(sudo ufw status)
if [ "$var" = "Status: inactive" ]; then
        sudo ufw enable
else
        sudo ufw disable
fi
 exit 0

2. ton script est lancé avec sudo

sudo ./monscript

tu ne mets aucun sudo dans le script

#!/bin/bash
#Script pour activer ou désactiver ufw
var=$(ufw status)
if [ "$var" = "Status: inactive" ]; then
        ufw enable
else
        ufw disable
fi
 exit 0

Dernière modification par kholo (Le 23/12/2017, à 10:06)

Hors ligne

#5 Le 23/12/2017, à 21:28

Duanra

Re : [Résolu] Aide pour un débutant en scripting

Waou merci pour vos réponses si rapides.
Je cherchais justement quelque chose pour apprendre en profondeur, donc l'ABS est parfait !

Hors ligne