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 14/12/2015, à 17:33

Boombastick

[BASH] Vérificateur foireux

Salut les basheux !

Je code un script au début duquel je souhaiterais qu'il vérifie qu'il est exécuté sous Debian 8, sinon, il termine le script.

if [[ "$(cat /etc/debian_version)" -ne "8.*" ]]; then
    clear
    echo ""
    echo -e "/!\ ERREUR: Ce script doit etre execute sous Debian 8 Jessie." 1>&2
    echo ""
    exit 1
fi

Mais il me ressort

./script.sh: ligne 24: [[: 8.2 : erreur de syntaxe : opérateur arithmétique non valable (le symbole erroné est ".2")

Hors ligne

#2 Le 14/12/2015, à 17:57

Watael

Re : [BASH] Vérificateur foireux

salut,

le shell ne traite que les entiers.


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

Hors ligne

#3 Le 14/12/2015, à 18:08

pingouinux

Re : [BASH] Vérificateur foireux

Bonjour,
Essaye

if [[ ! "$(cat /etc/debian_version)" =~ ^8.* ]]; then

Hors ligne

#4 Le 14/12/2015, à 19:13

bruno

Re : [BASH] Vérificateur foireux

Bonjour,

-ne c'est pour comparer des entiers. Là tu veux comparer des chaînes de caractères, il faut utiliser = ou !=

if [[ "$(cat /etc/debian_version)" != 8.* ]]

La condition est vrai si le contenu de /etc/debian_version ne commence pas par 8.

Hors ligne

#5 Le 16/12/2015, à 11:13

Boombastick

Re : [BASH] Vérificateur foireux

Merci les gars ! smile Les deux marches mais je vais plutôt prendre la solution de bruno qui m'as l'air plus simplifiée.

Dernière modification par Boombastick (Le 16/12/2015, à 11:13)

Hors ligne