[Linux] Que fait le bout ce script ?

Julien Charbon julien.charbon@::1
Jeu 15 Mar 16:15:24 CET 2007


Dominique NOLD wrote:
> j'aimerai savoir ce que fait le bout de script suivant:
> 
> SS=${1:-`date +%V`}
> 
> date +%V donne le nombre de lundi depuis le début de l'année et à la fin
> on met le résultat dans la variable SS. J'ai lancer la commande dans un
> bash et elle me retourne 11, pareil que date +%V. A quoi correspond
> "1:-"?

 La forme ${parameter:...} permet d'utiliser le 'Parameter Expansion' de
bash. Fonctionnalité qui permet de faire plein de chose [substring, pattern
matching, default value] sur les variables...

Dans le cas présent ':-' permet d'avoir une valeur par défaut [ici `date
+%V`] si $1 est null ou pas initialisé. Exemple:

$ cat test.sh
#!/bin/bash
echo ${1:-`date +%V`}
jch@::1:~$ ./test.sh
11
jch@::1:~$ ./test.sh 42
42

Plus d'info dans "man bash" paragraphe "Parameter Expansion".

--
Julien

-------------- section suivante --------------
Une pièce jointe non texte a été nettoyée...
Nom: signature.asc
Type: application/pgp-signature
Taille: 252 octets
Desc: OpenPGP digital signature
Url: https://strasbourg.linuxfr.org/pipermail/linux/attachments/20070315/5c04728f/attachment.pgp 


Plus d'informations sur la liste de diffusion linux