2017-07-25 1 views
0

Le script doit transmettre la liste des valeurs à l'argument et doit valider si un argument est passé et aucune liste. par exemple ./script --arg scénario salut devrait faire la commande --arg et ajouter/supprimer salutcomment passer la liste de valeurs à l'argument shell dans le script

./script --arg « Salut comment allez-vous » dans ce cas pas d'arguments passés à arg comment faire une exception ou une erreur si l'utilisateur entre les valeurs ci-dessus pour arg1.

function test() { 
filename=$1 
echo $filename 
    case "$2" in 
    a) 
     echo $3 >> $filename 
     echo "add " 
     # cat $filename 
     shift 
     shift 
    ;; 
exit 
} 

test $fileName $3 $4 

Répondre

0

argsCount ici fera l'affaire si vous voulez avoir un contrôle sur le nombre des arguments passés. Dans l'exemple ci-dessous, je passe 3 arguments et la validation si les arguments compte est égal à 3, sinon il sortira du script.

#!/usr/bin/env bash 

set -ex 
set -o pipefail 

copyConfigFrom=$1 
hostConfigFileName=$2 
hostnameEmail=$3 

argsCount="$#" 

if [ "$argsCount" -ne 3 ]; then 
    echo "Usage: $0 copyConfigFrom hostConfigFileName hostnameEmail" 
    exit 1 
fi