Comment gérer plus de 10 paramètres du shell
Je suis en utilisant shell bash sous linux et que vous voulez utiliser plus de 10 paramètres du script shell
- Notez que les 10 paramètres en faire assez déroutant. Il serait peut-être mieux d'utiliser des options (par exemple,
-a 1
ou--foo=bar
) à la place. Voirman getopt
,man getopts
, etman bash
pour certaines options pour le faire. - Aussi, si tout ce que vous voulez faire est de passer toutes les options pour une autre commande, vous pouvez utiliser
"$*"
ou"$@"
, mais note que"$@"
est mieux parce qu'il fait la bonne chose avec des espaces. - je suis tring avec "$@" et lors de l'exécution de script en passant les arguments, mais il ne fonctionne pas
Vous devez vous connecter pour publier un commentaire.
Utiliser des accolades pour les mettre:
Vous pouvez également effectuer une itération sur les paramètres positionnels comme ceci:
ou
ou
${10}
de travail n'est nécessaire lors de l'utilisation de très vieilles implémentations qui ne sont pas conformes à la norme. Sans doute qu'un intérêt historique...et pourtant je n'ai encore jamais utiliser! Je suppose, parce que les meilleures pratiques montrent que 10 arguments est beaucoup trop, sauf si elles sont répétées, auquel cas, vous allez parcourir avec"$@"
plutôt que d'énumérer eux.Vous pouvez avoir jusqu'à 255 paramètres avec:
sh -c 'echo ${333}' /usr/bin/*
set $(seq 2097152); echo ${2097152}