convertir les Majuscules en shell
Je suis de la lecture d'un caractère au clavier et de le convertir en majuscules, puis en affichant le caractère nouveau.
Mais cela montre l'erreur.
Comment puis-je faire cela.
mon code:-
read a;
a=echo $a | tr 'a-z' 'A-Z'
echo $a
J'ai aussi essayé ceci :-
read option;
eval $(awk -v option=$option '{print "a="toupper(option);}')
echo $a
OriginalL'auteur avinashse | 2012-12-04
Vous devez vous connecter pour publier un commentaire.
Si vous voulez stocker le résultat de
a
de retour dansa
, alors vous pouvez faire usage de la substitution de commande:OriginalL'auteur P.P.
Cela peut être fait en natif dans
bash
comme suit:Il n'est pas nécessaire d'invoquer d'autres commandes comme
tr
, parce quebash
pouvez le faire lui-même.La décrémentation car ne fonctionne pas:# a="${a^^}" -bash: ${a^^}: mauvaise substitution
Comment avez-vous commencé à
bash
, @KevinBuchs? Il travaille ici, mais il ne fonctionne pas avecsh
, par exemple. Aussi, quel est le contenu de la variablea
à ce point? Pour moi, c'est la solution la plus élégante, car il évite les fourches d'autres procédés.Le
^^
paramètre d'extension a été ajoutée dans Bash 4.0.OriginalL'auteur dogbane
AWK est la bonne façon de les convertir en majuscules/minuscules avec Support complet Unicode 😉
OriginalL'auteur Juergen H.
Utilisation de la substitution de commande :
Note les tiques
" autour de l'écho et tr.
bash
(ou suffisamment similaire), trop. Cela ne fonctionne pas avecfish
, par exemple.OriginalL'auteur axiom
awk
est pas la bonne manière d'aller ici, mais voici une façon dont il pourrait être fait:OriginalL'auteur Thor
Ne pouvait pas obtenir
de travail, mais
(la note supplémentaire regex entre crochets [].
Dans /usr/bin/sh script de ce a travaillé comme
OriginalL'auteur Andrew