IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Grep et Cut avec un test conditionnel


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Points : 75
    Points
    75
    Par défaut Grep et Cut avec un test conditionnel
    bonjour
    sans transition, mon code qui :

    - teste avec une Case
    - teste avec IF si l'utilisateur courant est le Root
    - si oui, crée un nouveau compte
    - sinon, message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    case $rep in 
    ..
    ;;
    4)
    IF grep "$USER" /etc/passwd | cut -d: -f1 = root
    then
    echo 'entrer le nom du compte à creer'
    read nom
    useradd $nom
    else
    echo 'erreur'
    fi
    ;;
    ..
    ..
    esac
    quand j'execute mon script, j'ai l'erreur suivante :
    cut : =: Aucun fichier ou rep de ce type
    cut : root: aucun fichier ou rep de ce type
    erreur
    Comment est ce que je pourrai rectifier cette erreur ?

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    - le "if" c'est en miniscule
    - ta commande "grep "$USER" /etc/passwd" doit être exécutée et donc entourée des caractères "`"
    -->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if [[ `grep "$USER" /etc/passwd| cut -d: -f1` = "root" ]] ; then
    rermarque : en korn shell on peut l'écrire comme cela (je trouve que c'est plus lisible) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if [[ $(grep "$USER" /etc/passwd|cut -d: -f1) = "root" ]] ; then

Discussions similaires

  1. Double test avec les commentaires conditionnels
    Par Nixar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/02/2009, 15h53
  2. awk / cut : Comment copier des colonnes avec des tests
    Par drareg06 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 16/07/2008, 11h49
  3. Test conditionnel avec apostrophe
    Par Erwan M. dans le forum Langage
    Réponses: 12
    Dernier message: 21/04/2008, 12h06
  4. Test conditionnel avec OU
    Par pegase.90 dans le forum Débuter
    Réponses: 5
    Dernier message: 16/11/2007, 15h03
  5. suppression avec sous requête conditionnelle
    Par melmel dans le forum Requêtes
    Réponses: 8
    Dernier message: 18/03/2004, 23h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo