[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