Comment puis-je vérifier le nombre correct d'arguments (un argument). Si quelqu'un essaie d'appeler le script sans passer le nombre correct d'arguments, et en vérifiant que l'argument de ligne de commande existe réellement et qu'il s'agit d'un répertoire.
148
shell
that means/bin/sh
Réponses:
Traduction: Si le nombre d'arguments n'est pas (numériquement) égal à 1 ou si le premier argument n'est pas un répertoire, affichez l'utilisation vers stderr et quittez avec un code d'état d'échec.
Rapport d'erreurs plus convivial:
la source
if [ "$#" -ne 1 ] ; then
ou l' autre ouif ! [ -d "$1" ]; then
pour voir quelle clause cause le problème.-d
concerne. Si vous souhaitez ajouter une vérification distincte, vous pouvez utiliser-e
pour vérifier l'existence.-e
renvoie true si le fichier existe. J'ai ajouté un rapport d'erreur plus convivial à la réponse.chat script.sh
exécutez-le comme ci-dessous -
La sortie sera comme -
la source
Vous pouvez vérifier le nombre total d'arguments qui sont passés en ligne de commande avec "
$#
" Dites par exemple mon nom de script shell esthello.sh
La sortie sera
hello-world
la source