Pour mettre une chaine de caractère en minuscule :
% echo ${(L):-Vive ZSH}
vive zsh
Pour mettre en majuscule :
% echo ${(U):-Vive ZSH}
VIVE ZSH
Pour mettre en lettres capitales les premières lettres de chaque mot :
% echo ${(C):-vive zSH}
Vive Zsh
Ce qui donne les fonctions suivantes :
function lower () {
echo ${(L)*}
}
function upper () {
echo ${(U)*}
}
function capitalize () {
echo ${(C)*}
}
Usage :
% capitalize ma chaine a moi Ma Chaine A Moi
L'intéret de ces fonctions est de ne faire appel à aucun processus supplémentaire (Pas de fork(2) à réaliser pour lancer la commande tr(1) ou un interpréteur Perl/Python par exemple). En effet, on utilise le Paramater Expansion de zsh.