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 :

Quelle différence entre ces 2 syntaxes ?


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 145
    Points : 77
    Points
    77
    Par défaut Quelle différence entre ces 2 syntaxes ?
    Bonjour tout le monde, après plusieurs recherches infructueuses, j'en appelle à votre aide.

    En shell j'ai du mal à comprendre quelle est la différence entre écrire
    var=toto/appli/data

    echo ${var}
    echo $var

    Quelle est la fonction des accolades ?

    Merci d'avance et désolé de surement poser une question de débutant, mais j'en suis un

    Bonne journée.

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    sur un echo par exemple tu ne verras pas de différences.
    ${var} signifie valeur de la variable
    $var désigne la variable elle même

    par contre sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    [fpu@ln ~/tmp] g=1
    [fpu@ln ~/tmp] h=2
    [fpu@ln ~/tmp] tableau[$g]="Z"
    [fpu@ln ~/tmp] tableau[$h]="A"
    [fpu@ln ~/tmp] echo $tableau[$g]
    [1]
    [fpu@ln ~/tmp] echo $tableau[${g}]
    [1]
    [fpu@ln ~/tmp] echo ${tableau[${g}]}
    Z
    [fpu@ln ~/tmp]
    sh, bash sont assez souples à ce niveau de protection, par contre il est bon pour portabilité de tjrs prendre l'habitude d'appeler les contenus des variables et donc de tjrs appeler ${ma_variable}

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 145
    Points : 77
    Points
    77
    Par défaut
    Ok merci frp31 j'ai bien compris maintenant!

  4. #4
    Membre averti Avatar de FRUiT
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2011
    Messages : 83
    Points : 337
    Points
    337
    Par défaut
    Ca sert aussi lorsque la variable est accolée à une chaine, afin de la délimiter.

    Ainsi ${nom}est beau,

    Ne sera pas confondu avec une hypothétique variable $nomest.

Discussions similaires

  1. Quelle différence entre ces deux constantes ?
    Par Vincent Heude dans le forum 4D
    Réponses: 16
    Dernier message: 13/12/2011, 19h31
  2. Quelle est la différence entre ces deux déclarations ?
    Par sidahmed dans le forum Débuter
    Réponses: 15
    Dernier message: 04/10/2007, 19h59
  3. Réponses: 6
    Dernier message: 13/05/2007, 23h14
  4. [Conception] Quelle est la différence entre ces modèles ?
    Par ukanoldai dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 10/01/2007, 16h17
  5. [Type Sql] Quelles différences entre ces bases ?
    Par wonderboy dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 16/03/2006, 09h38

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