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 :

Petit soucis de variable


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2009
    Messages : 19
    Par défaut Petit soucis de variable
    Bonjour,

    Je suis plutot novice en script shell, voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
    atlas=p000p004
     
    echo $atlas;
    echo $atlas | cut -b8
    atlas2=$(($atlas | cut -b8))
    echo $atlas2
    En gros, j ai une variable (atlas=p000p004), et je souhaite recuperer dans la variable atlas2 le dernier chiffre de $atlas.

    En faisant j obtiens bien 4, mais je n arrive pas a assigner cette valeur a atlas2. Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    atlas2=$(($atlas | cut -b8))
    me renvoie 0.

    Merci!

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 660
    Par défaut
    oula !

    - les doubles parenthèses servent pour l'évaluation arithmétique.
    - il faudrait au moins un echo pour passer la variable au cut par le pipe.

    Enfin, si tu veux récupérer des caractères d'une variable, il existe les Remplacements de paramètres voir Extraction de sous-chaînes
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    atlas=p000p004
    atlas2=${atlas:$((${#atlas}-1)):1}
    ce qui signifie
    atlas2=${atlas:$((${#atlas}-1)):1} -> atlas2=${atlas:début:longueur}
    $((${#atlas}-1)) -> compte du nombre de caractère de $atlas moins 1 (car ce n'est pas un paramètre positionnel)
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2009
    Messages : 19
    Par défaut
    Tres bien, et merci pour les explications, ca pourra m aider pour le futur

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    
    atlas2=$(echo $atlas | cut -b8)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un petit soucis de variable
    Par bttleman dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 14/08/2011, 10h30
  2. petit soucis affichage variable
    Par lostsoul dans le forum Débuter
    Réponses: 2
    Dernier message: 23/01/2011, 15h33
  3. petit souci de variable
    Par bakman dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 31/03/2010, 17h18
  4. [AJAX] Récupération variable
    Par shelko dans le forum AJAX
    Réponses: 5
    Dernier message: 11/12/2009, 07h21
  5. [Zip] petit soucis de variable avec "zip.lib.php"
    Par Giantrick dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 29/06/2007, 12h19

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