Expressions régulières

Résolu
Salut,
est-ce que quelqu'un peut me dire qu'est ce que pouraient signifier ces expressions:
rep=${1:-.}
d=${p%%:*}
f=${p#*:}
ce que je sais que les {} signifient "l'ensemble de" mais quand même g ap compris
Merci d'avance!
Configuration: Linux Fedora
Firefox 1.5.0.7

4 réponses

  1. Modérateur
    Salut,

    man bash et plus particulièrement le "Remplacement des paramètres" ;-))
    1. Alors déja se n'est un langage xhtml n'y CSS m'est je ne c'est pas se que sa pourrez étre dotre désoler des personne avec plus de connésence que moi pourront te de le dir !
      1. Merci quand même mehdi!
    2. Modérateur
      Bon alors, en gros...

      Pour le 1er : rep=${1:-.}

      Ça signifie que si le paramètre "$1" existe, la variable rep est initialisée avec cette valeur, dans le cas contraire (inexistante ou nulle), c'est la valeur du répertoire courant (.) qui lui est attribuée.
      Pour être plus explicite : rep=${1:-/temp}
      Si le paramètre $1 n'existe pas, la variable est initialisée avec la valeur "/temp"

      Pour les autres :
      $ var=$(grep root /etc/passwd)
      $ echo ${var}
      root:x:0:0:root:/root:/bin/bash
      $ echo ${var%%:*}
      root
      $ echo ${var%:*}
      root:x:0:0:root:/root
      $ echo ${var#*:}
      x:0:0:root:/root:/bin/bash
      $ echo ${var##*:}
      /bin/bash
      
      ;-))
      1. Salut,
        merci bien jipicy pour votre réponse
        pour la première c'est très clair, merci
        mais pour les deux autres pas tellement, mais juste une dernière question, esq je peux trouver la signification des "%" et "#" dans le man bash?
        merci!
      2. Modérateur
        @anime4ever
        man bash -P 'less -p "^   Remplacement des paramètres"'
        ;-))