Comment passer l'argument dans un script bash?

Comment passer l'argument dans un script bash?
La plupart des utilisateurs de Linux Mint 20 se retrouvent coincés lors du passage d'un argument dans un script bash. Vous pouvez transmettre les arguments à n'importe quel script bash lorsqu'il est exécuté. Il existe plusieurs façons simples et utiles de passer des arguments dans un script bash. Dans ce guide d'article, nous vous informerons des moyens très faciles de passer et d'utiliser des arguments dans vos scripts bash.

Passer des arguments en utilisant des variables par défaut:

Créez un nouveau fichier avec n'importe quel nom utilisant la commande «Touch», E.g., "déposer.sh ”.

$ tactile nom de fichier

Ouvrez ce fichier nouvellement créé et ajoutez-y un script bash. J'ai ajouté quelques variables par défaut, e.g. «1 $», «2 $» et «3 $» par conséquent. Quels que soient les arguments qui seront transmis dans le terminal seront stockés dans les variables déclarées.

Vous devez exécuter ce fichier en utilisant le "./ »Commande suivie de certains arguments. Comme vous pouvez le voir dans l'image que lorsque j'ai passé les arguments, une erreur se produit: l'autorisation refusée. En effet, ce fichier n'a pas de droits d'exécution.

$ ./ argument de fichier argument1 argument2 argument

Donc, pour accorder les droits d'exécution sur ce fichier, utilisez la commande sudo «chmod» pour le faire.

$ sudo chmod + x nom de fichier

Maintenant, exécutez à nouveau le fichier en utilisant la même commande ci-dessus. Cette fois, j'ai fourni différents arguments. Vous verrez que les arguments nouvellement passés sont stockés dans les variables par défaut.

Passer le nom du script de shell comme argument:

Maintenant, en utilisant le même ancien fichier «Fichier.sh ”avec un petit changement dans ses variables par défaut. Vous devez ajouter la variable «0 $» dans le script comme indiqué.

En exécutant la même chose "./ ”Commande de script shell, le nom de votre script shell, e.g. "./ nom de fichier »sera stocké dans la variable« 0 $ »comme argument.

Passer des arguments en tant que tableau à la variable:

En commençant par le même fichier «Fichier.sh ”, vous devez ajouter des lignes supplémentaires dans l'ancien script. Déclarer une variable nommée «tableau». Ajoutez une variable par défaut «$ @» qui stockera les arguments entrés par l'utilisateur en tant que tableau. Ces arguments seront analysés à un «tableau» variable. La dernière ligne affichera tous les arguments de la variable «tableau» triée par le numéro d'index.

Exécuter le "./ »Script shell. Vous verrez qu'il affichera les arguments ou les valeurs stockés comme un tableau dans «$ @» analysé à la variable «Array» mais pas le nom du script de shell dans la deuxième instruction «Echo». Vous aurez la sortie suivante.

$ ./ argument de fichier argument1 argument2 argument

Utilisez le même fichier avec le même script. Supprimez simplement le «$ array [3]» de la dernière ligne comme clair dans l'image.

Après avoir exécuté le «./ »Commande, vous verrez une sortie similaire au fur et à mesure que vous avez obtenu dans l'exemple ci-dessus sans changement.

Vous pouvez également obtenir le même résultat en remplaçant la dernière ligne du script bash par un seul mot. Il vous suffit d'ajouter "$ @" dans l'instruction Echo, et il affichera les arguments présents dans ce tableau variable.

Alors courir le «./ »Commande à nouveau, vous obtiendrez les mêmes résultats.

Vérifiez le nombre total d'arguments passés:

Au contraire, si vous souhaitez connaître le nombre total d'arguments transmis par l'utilisateur, vous pouvez également le faire. À cette fin, il vous suffit de remplacer "$ @" par "$ #" dans "echo".

Exécutant à nouveau le «./ »Commande, vous allez maintenant voir la figure entière des arguments transmis au script. Dans notre cas, 3 arguments sont passés en valeur.

Créez une sortie ligne par ligne des arguments:

Créer un nouveau fichier «Test.sh ”dans le répertoire domestique. Ajouter le script bash comme indiqué.

Maintenant, exécutez la même ancienne commande avec différents arguments. Tout d'abord, vous verrez l'erreur: autorisation refusée.

Vous devez exécuter la commande «chmod» pour accorder ce fichier privilèges sudo. Après cela, exécutez le «./ ”Commande de script shell à nouveau. Et vous obtiendrez la sortie triée ligne par ligne des arguments.

Limiter la variable via le numéro d'index d'argument:

Si vous souhaitez limiter la variable en utilisant son numéro d'index, vous pouvez le faire très facilement. Ajoutez des supports bouclés après le signe «$» et ajoutez le numéro d'index de l'argument que vous souhaitez afficher avant d'autres arguments.

Si les arguments fournis par les utilisateurs sont inférieurs au numéro d'index fourni dans la variable limite, vous obtiendrez une valeur d'argument vide. Par exemple, j'ai fourni 4 arguments, mais j'ai donné la valeur d'argument «05» à afficher. Dans cette situation, la variable sera affichée vide car le cinquième argument n'a pas été passé.

Mais lorsque vous passez le nombre égal ou plus d'arguments dans la commande, vous obtiendrez la valeur affichée dans le résultat comme indiqué.

Vérification des arguments de valeur spécifiques:

Faire un nouveau fichier avec le nom «Vérifiez.sh ”dans votre répertoire domestique. Ajoutez le même script bash que celui indiqué dans l'image ci-dessous. Dans ce script, nous avons une variable «var» pour stocker la valeur de l'argument réalisée par l'utilisateur. Ensuite, nous avons une instruction «IF», ​​qui vérifiera la valeur de l'argument à correspondre ou non. Si la valeur de l'argument est adaptée à la valeur fournie dans la parenthèse, la première instruction «Echo» sera exécutée. Si la valeur ne correspond pas, la deuxième instruction «Echo» sera exécutée.

Lorsque nous exécutons la commande Shell Script, il augmentera une erreur. En utilisant la commande «chmod», nous pouvons corriger cette erreur.

Après cela, exécutez le script shell pour le fichier particulier avec une valeur d'argument. Dans notre cas, nous avons fourni «AQSA» comme valeur d'argument, qui est la même que la valeur affichée dans la parenthèse. Ainsi, le script bash exécutera la première instruction «Echo» comme indiqué.

D'un autre côté, si vous fournissez les différentes valeurs d'argument dans le script shell, il affichera l'autre instruction «Echo». Ici, j'ai ajouté "Rimsha" comme valeur d'argument, qui est différente de la valeur fournie dans l'instruction if. Donc Bash Script exécutera la deuxième instruction «Echo».

Conclusion:

J'espère que ce guide vous a suffisamment aidé à avoir une forte adhérence sur la façon de passer les arguments aux variables par défaut, la valeur de l'argument en tant que tableau à une variable, obtenez le nombre total d'arguments passés, la sortie ligne par ligne des arguments, limitez l'argument Sortie à l'aide du numéro d'index, vérification de l'argument de valeur spécifique et bien d'autres.