Top 10 exemples de script bash

Top 10 exemples de script bash

Les scripts bash peuvent être utilisés à diverses fins, tels que l'exécution d'une commande shell, l'exécution de plusieurs commandes, la personnalisation des tâches administratives, l'exécution de l'automatisation des tâches, etc. La connaissance des bases de la programmation bash est donc importante pour chaque utilisateur Linux. Cet article vous aidera à obtenir l'idée de base sur la programmation bash. La plupart des opérations communes des scripts bash sont expliquées avec des exemples très simples ici.

Les sujets suivants de la programmation bash sont couverts dans cet article.

  1. Bonjour le monde
  2. Commande d'écho
  3. commentaires
  4. Commentaire multi-lignes
  5. Pendant la boucle
  6. Pour boucle
  7. Obtenez la saisie des utilisateurs
  8. Si déclaration
  9. Et conditionner si la déclaration
  10. Ou condition si déclaration
  11. Sinon si et autre condition
  12. Condition
  13. Obtenez des arguments à partir de la ligne de commande
  14. Obtenez des arguments de la ligne de commande avec des noms
  15. Combiner deux cordes dans une variable
  16. Obtenir une sous-chaîne de cordes
  17. Ajouter 2 nombres dans une variable
  18. Créer une fonction
  19. Utiliser les paramètres de fonction
  20. Valeur de retour de pass du script
  21. Faire l'annuaire
  22. Faire un répertoire en vérifiant l'existence
  23. Lire un fichier
  24. Supprimer un fichier
  25. Ajouter au fichier
  26. Tester si le fichier existe
  27. Envoyer un exemple par e-mail
  28. Obtenez l'analyse actuelle de la date
  29. Commande d'attente
  30. Commandement du sommeil

Créer et exécuter le premier programme bash:

Vous pouvez exécuter un script bash à partir du terminal ou en exécutant n'importe quel fichier bash. Exécutez la commande suivante à partir du terminal pour exécuter une déclaration de bash très simple. La sortie de la commande sera 'Bonjour le monde'.

$ echo "Hello World"

Ouvrez n'importe quel éditeur pour créer un fichier bash. Ici, nano L'éditeur est utilisé pour créer le fichier et le nom de fichier est défini comme 'D'abord.sh '

$ nano d'abord.shot

Ajoutez le script bash suivant dans le fichier et enregistrez le fichier.

#!/ bac / bash
Echo "Hello World"

Vous pouvez exécuter un fichier bash de deux manières. Une façon consiste à utiliser la commande bash et une autre est en définissant l'exécution de l'autorisation de dénigrer le fichier et d'exécuter le fichier. Les deux façons sont montrées ici.

$ bash d'abord.shot

Ou,

$ chmod a + x premier.shot
$ ./D'abord.shot

Aller au sommet

Utilisation de la commande Echo:

Vous pouvez utiliser la commande echo avec diverses options. Certaines options utiles sont mentionnées dans l'exemple suivant. Lorsque vous utilisez 'écho'Commande sans aucune option puis une nouvelle ligne est ajoutée par défaut. '-n' L'option est utilisée pour imprimer n'importe quel texte sans nouvelle ligne et '-e' L'option est utilisée pour supprimer les caractères de barre arrière de la sortie. Créez un nouveau fichier bash avec un nom, 'echo_example.shot'et ajouter le script suivant.

#!/ bac / bash
Echo "Imprimer du texte avec Newline"
echo -n "Imprimer du texte sans newline"
echo -e "\ nremoving \ t backslash \ t caractères \ n"

Exécutez le fichier avec la commande bash.

$ bash echo_example.shot

Aller au sommet

Utilisation du commentaire:

'#' Le symbole est utilisé pour ajouter un commentaire en ligne dans un script bash. Créer un nouveau fichier nommé 'comment_example.sh ' et ajouter le script suivant avec un commentaire en ligne unique.

#!/ bac / bash
# Ajouter deux valeur numérique
((sum = 25 + 35))
# Print le résultat
écho $ sum

Exécutez le fichier avec la commande bash.

$ bash comment_example.shot

Aller au sommet

Utilisation du commentaire multi-lignes:

Vous pouvez utiliser des commentaires multi-lignes dans Bash de diverses manières. Un moyen simple est montré dans l'exemple suivant. Créer un nouveau bash nommé, 'Multiline-Comement.sh ' et ajouter le script suivant. Ici, ':' et " ' " Les symboles sont utilisés pour ajouter des commentaires multilignes dans le script bash. Ce script suivant calculera le carré de 5.

#!/ bac / bash
: '
Le script suivant calcule
la valeur carrée du nombre, 5.
'
((zone = 5 * 5))
Echo $ Area

Exécutez le fichier avec la commande bash.

$ bash multiline-comment.shot

Vous pouvez vérifier le lien suivant pour en savoir plus sur l'utilisation de Bash Commentaire.

Aller au sommet

Utilisation de Loop While:

Créer un fichier bash avec le nom, 'while_example.sh ', pour connaître l'utilisation de alors que boucle. Dans l'exemple, alors que la boucle iratera pour 5 fois. La valeur de compter variable va augmenter de 1 à chaque étape. Lorsque la valeur de compter variable sera 5 alors le alors que la boucle se terminera.

#!/ bac / bash
valide = vrai
compter = 1
tandis que [$ valide]
faire
Echo $ Count
Si [$ COUNT -EQ 5];
alors
casser
Fi
((count ++))
fait

Exécutez le fichier avec la commande bash.

$ bash while_example.shot

Vous pouvez vérifier le lien suivant pour en savoir plus sur l'utilisation de Bash pendant que la boucle.

Aller au sommet

Utilisation pour Loop:

Les bases pour La déclaration de boucle est indiquée dans l'exemple suivant. Créer un fichier nommé 'Par exemple.shot'et ajouter le script suivant en utilisant pour boucle. Ici, pour la boucle iratera pour dix fois et imprimez toutes les valeurs de la variable, comptoir en une seule ligne.

#!/ bac / bash
pour ((compteur = 10; compteur> 0; compteur--))
faire
echo -n "$ compteur"
fait
printf "\ n"

Exécutez le fichier avec la commande bash.

$ bash pour_example.shot

Vous pouvez utiliser pour Loop à différentes fins et façons dans votre script bash. Vous pouvez vérifier le lien suivant pour en savoir plus sur l'utilisation de Bash pour Loop.

Aller au sommet

Obtenez la saisie des utilisateurs:

'lire'La commande est utilisée pour prendre les commentaires de l'utilisateur en bash. Créer un fichier nommé 'user_input.shot'et ajouter le script suivant pour prendre les commentaires de l'utilisateur. Ici, une valeur de chaîne sera tirée de l'utilisateur et affiche la valeur en combinant une autre valeur de chaîne.

#!/ bac / bash
Echo "Entrez votre nom"
Nom de lecture
Echo "Bienvenue $ nom sur Linuxhint"

Exécutez le fichier avec la commande bash.

$ bash user_input.shot

Vous pouvez vérifier le lien suivant pour en savoir plus sur l'utilisation de l'entrée des utilisateurs de bash.

Aller au sommet

Utilisation de l'instruction IF:

Vous pouvez utiliser si condition avec des conditions uniques ou multiples. Le bloc de démarrage et de fin de cette déclaration est définie par 'si' et 'Fi'. Créer un fichier nommé 'Simple_if.shot'Avec le script suivant pour connaître l'utilisation si déclaration de bash. Ici, dix est affecté à la variable, n. Si la valeur de $ n est moins de 10, alors la sortie sera «C'est un numéro à un chiffre», Sinon, la sortie sera«C'est un numéro à deux chiffres". En comparaison, '-lt' est utilisé ici. À titre de comparaison, vous pouvez également utiliser '-eq' pour égalité, '-ne' pour pas l'égalité et '-gt' pour plus grand que dans le script bash.

#!/ bac / bash
n = 10
si [$ n -lt 10];
alors
Echo "C'est un numéro à un chiffre"
autre
Echo "C'est un numéro à deux chiffres"
Fi

Exécutez le fichier avec la commande bash.

$ bash simple_if.shot

Aller au sommet

Utilisation de l'instruction IF avec et logique:

Différents types de conditions logiques peuvent être utilisés dans une instruction IF avec deux conditions ou plus. Comment vous pouvez définir plusieurs conditions dans la déclaration if en utilisant ET La logique est affichée dans l'exemple suivant. '&&' est utilisé pour appliquer ET logique si déclaration. Créer un fichier nommé 'if_with_and.sh ' Pour vérifier le code suivant. Ici, la valeur de nom d'utilisateur et mot de passe Les variables seront prises à l'utilisateur et comparées à 'administrer' et 'secret'. Si les deux valeurs correspondent, la sortie sera «utilisateur valide», Sinon, la sortie sera«utilisateur invalide".

#!/ bac / bash
Echo "Entrez le nom d'utilisateur"
Lire le nom d'utilisateur
Echo "Entrez le mot de passe"
lire le mot de passe
si [[($ username == "admin" && $ mot de passe == "secret")]]; alors
écho "utilisateur valide"
autre
écho "utilisateur non valide"
Fi

Exécutez le fichier avec la commande bash.

$ bash if_with_and.shot

Aller au sommet

Utilisation de l'instruction IF avec ou logique:

'||'est utilisé pour définir OU logique si condition. Créer un fichier nommé 'if_with_or.sh ' avec le code suivant pour vérifier l'utilisation de OU logique si déclaration. Ici, la valeur de n sera tiré de l'utilisateur. Si la valeur est égale à 15 ou 45 Ensuite, la sortie sera «Tu as gagné le jeu», Sinon, la sortie sera«Tu as perdu le jeu".

#!/ bac / bash
Echo "Entrez n'importe quel numéro"
lire n
si [[($ n -eq 15 || $ n -eq 45)]]]
alors
Echo "Vous avez gagné le match"
autre
Echo "Vous avez perdu le jeu"
Fi

Exécutez le fichier avec la commande bash.

$ bash if_with_or.shot

Aller au sommet

Utilisation de la déclaration d'IF:

L'utilisation de Sinon si La condition est peu différente de Bash que d'autres langues de programmation. 'Elif'est utilisé pour définir Sinon si état de bash. Créer un fichier nommé, 'elseif_example.shot'et ajouter le script suivant pour vérifier comment Sinon si est défini dans le script bash.

#!/ bac / bash
Echo "Entrez votre numéro chanceux"
lire n
si [$ n -eq 101];
alors
Echo "You Got 1st Prize"
elif [$ n -eq 510];
alors
Echo "You Got 2nd Prize"
Elif [$ n -eq 999];
alors
Echo "You Got 3rd Prize"
autre
Echo "Désolé, essayez la prochaine fois"
Fi

Exécutez le fichier avec la commande bash.

$ bash elseif_example.shot

Aller au sommet

Utilisation de la déclaration de cas:

Cas La déclaration est utilisée comme alternative de if-elseif-else déclaration. Le bloc de démarrage et de fin de cette déclaration est défini par 'cas' et 'ESAC'. Créer un nouveau fichier nommé, 'case_example.shot'et ajouter le script suivant. La sortie du script suivant sera la même pour le précédent Sinon si exemple.

#!/ bac / bash
Echo "Entrez votre numéro chanceux"
lire n
cas $ n
101)
Echo Echo "You Got 1st Prize" ;;
510)
Echo "You Got 2nd Prize" ;;
999)
Echo "You Got 3rd Prize" ;;
*)
Echo "Désolé, essayez la prochaine fois" ;;
ESAC

Exécutez le fichier avec la commande bash.

$ bash case_example.shot

Aller au sommet

Obtenez des arguments à partir de la ligne de commande:

Le script bash peut lire l'entrée de l'argument de la ligne de commande comme un autre langage de programmation. Par exemple, 1 $ et 2 $ les variables sont utilisées pour lire les arguments de première et deuxième ligne de commande. Créer un fichier nommé "ligne de commande.shot»Et ajoutez le script suivant. Deux valeurs d'argument lues par le script suivant et impriment le nombre total d'arguments et les valeurs d'argument comme sortie.

#!/ bac / bash
Echo "Arguments totaux: $ #"
Echo "1er argument = 1 $"
Echo "2ème argument = 2 $"

Exécutez le fichier avec la commande bash.

$ bash command_line.shinn

Vous pouvez vérifier le lien suivant pour en savoir plus sur l'utilisation de l'argument de la ligne de commande bash.

Aller au sommet

Obtenez des arguments à partir de la ligne de commande avec des noms:

Comment vous pouvez lire les arguments de ligne de commande avec les noms est affiché dans le script suivant. Créer un fichier nommé, 'Command_line_Names.sh ' et ajouter le code suivant. Ici, deux arguments, X et Y sont lus par ce script et impriment la somme de x et y.

#!/ bac / bash
pour arg dans "$ @"
faire
index = $ (echo $ arg | cut -f1 -d =)
val = $ (echo $ arg | cut -f2 -d =)
Affaire $ index dans
X) x = $ val ;;
Y) y = $ val ;;
*)
ESAC
fait
((résultat = x + y))
Echo "x + y = $ résultat"

Exécutez le fichier avec la commande bash et avec deux arguments de ligne de commande.

$ bash Command_line_Names x = 45 y = 30

Aller au sommet

Combiner les variables de chaîne:

Vous pouvez facilement combiner des variables de chaîne en bash. Créer un fichier nommé "String_combine.shot"Et ajoutez le script suivant pour vérifier comment vous pouvez combiner les variables de chaîne en bash en plaçant les variables ensemble ou en utilisant '+' opérateur.

#!/ bac / bash
String1 = "Linux"
string2 = "indice"
echo "$ string1 $ string2"
String3 = $ string1 + $ string2
String3 + = "est un bon site de blog de tutoriel"
echo $ string3

Exécutez le fichier avec la commande bash.

$ bash string_combine.shot

Aller au sommet

Obtenir une sous-chaîne de chaîne:

Comme un autre langage de programmation, Bash n'a pas de fonction intégrée pour couper la valeur à partir de données de chaîne. Mais vous pouvez faire la tâche de substrat d'une autre manière dans Bash qui est affichée dans le script suivant. Pour tester le script, créez un fichier nommé 'substring_example.shot'Avec le code suivant. Ici, la valeur, 6 indique le point de départ à partir de l'endroit où la sous-chaîne commencera et 5 indique la durée de la sous-chaîne.

#!/ bac / bash
Str = "Learn Linux à partir de Linuxhint"
substr = $ str: 6: 5
Echo $ substr

Exécutez le fichier avec la commande bash.

$ bash substring_example.shot

Aller au sommet

Ajouter deux nombres:

Vous pouvez faire les opérations arithmétiques dans Bash de différentes manières. Comment vous pouvez ajouter deux nombres entiers en bash à l'aide de doubles supports est affiché dans le script suivant. Créer un fichier nommé 'add_numbers.shot'Avec le code suivant. Deux valeurs entières seront tirées de l'utilisateur et imprimé le résultat de l'addition.

#!/ bac / bash
Echo "Entrez le premier numéro"
lire x
Echo "Entrez le deuxième numéro"
prêt
((sum = x + y))
Echo "Le résultat de l'addition = $ sum"

Exécutez le fichier avec la commande bash.

$ bash add_numbers.shot

Vous pouvez vérifier le lien suivant pour en savoir plus sur Bash Arithmetic.

Aller au sommet

Créer une fonction:

Comment créer une fonction simple et appeler la fonction est affichée dans le script suivant. Créer un fichier nommé 'function_example.shot'et ajouter le code suivant. Vous pouvez appeler n'importe quelle fonction par son nom uniquement sans utiliser de support dans le script bash.

#!/ bac / bash
fonction f1 ()

Echo 'j'aime la programmation bash'

F1

Exécutez le fichier avec la commande bash.

$ bash function_example.shot

Aller au sommet

Créer une fonction avec les paramètres:

Bash ne peut pas déclarer le paramètre de fonction ou les arguments au moment de la déclaration de fonction. Mais vous pouvez utiliser des paramètres en fonction en utilisant une autre variable. Si deux valeurs sont passées au moment de l'appel de la fonction, la variable de 1 $ et 2 $ sont utilisées pour lire les valeurs. Créer un fichier nommé 'fonction | _Paramètre.shot'et ajouter le code suivant. Ici, la fonction, 'Rectangle_area ' calculera la zone d'un rectangle en fonction des valeurs des paramètres.

#!/ bac / bash
Rectangle_area ()
zone = $ ((1 $ * 2 $))
Echo "Zone est: $ zone"

Rectangle_area 10 20

Exécutez le fichier avec la commande bash.

$ bash function_paramètre.shot

Aller au sommet

Valeur de retour de pass de la fonction:

La fonction bash peut passer à la fois des valeurs numériques et de chaîne. Comment passer une valeur de chaîne à partir de la fonction est affichée dans l'exemple suivant. Créer un fichier nommé, 'function_return.shot'et ajouter le code suivant. La fonction, salutation() Renvoie une valeur de chaîne dans la variable, val qui imprime plus tard en se combinant avec une autre chaîne.

#!/ bac / bash
Fonction Greeting ()
str = "bonjour, $ name"
Echo $ str

Echo "Entrez votre nom"
Nom de lecture
val = $ (salutation)
Echo "La valeur de retour de la fonction est $ val"

Exécutez le fichier avec la commande bash.

$ bash function_return.shot

Vous pouvez vérifier le lien suivant pour en savoir plus sur l'utilisation des fonctions bash.

Aller au sommet

Répertoire:

Bash utilise 'mkdir'Commande pour créer un nouveau répertoire. Créer un fichier nommé 'Make_directory.shot'Et ajoutez le code suivant pour prendre un nouveau nom de répertoire de l'utilisateur. Si le nom du répertoire n'existe pas à l'emplacement actuel, il créera le répertoire, sinon le programme affichera une erreur.

#!/ bac / bash
Echo "Entrez le nom du répertoire"
Lire Newdir
'Mkdir $ newdir'

Exécutez le fichier avec la commande bash.

$ bash make_directory.shot

Aller au sommet

Faire un répertoire en vérifiant l'existence:

Si vous souhaitez vérifier l'existence du répertoire à l'emplacement actuel avant d'exécuter le 'mkdir'Commande alors vous pouvez utiliser le code suivant. '-d`` L'option est utilisée pour tester un répertoire particulier existe ou non. Créer un fichier nommé, 'Directory_exist.sh ' et ajouter le code suivant pour créer un répertoire en vérifiant l'existence.

#!/ bac / bash
Echo "Entrez le nom du répertoire"
lire ndir
Si [-d "$ ndir"]
alors
écho "répertoire existe"
autre
'Mkdir $ ndir'
écho "répertoire créé"
Fi

Exécutez le fichier avec la commande bash.

$ bash Directory_exist.shot

Vous pouvez vérifier le lien suivant pour en savoir plus sur la création de répertoires de bash.

Aller au sommet

Lire un fichier:

Vous pouvez lire n'importe quel fichier ligne par ligne en bash en utilisant une boucle. Créer un fichier nommé, 'read_file.shot"Et ajoutez le code suivant pour lire un fichier existant nommé,"livre.SMS'.

#!/ bac / bash
file = 'livre.SMS'
en lisant la ligne; faire
Echo $ line
fait < $file

Exécutez le fichier avec la commande bash.

$ bash read_file.shot

Exécutez la commande suivante pour vérifier le contenu original de 'livre.SMS' déposer.

$ Cat Book.SMS

Vous pouvez vérifier le lien suivant pour connaître les différentes façons de lire le fichier dans Bash.

Aller au sommet

Supprimer un fichier:

'RM'La commande est utilisée dans Bash pour supprimer n'importe quel fichier. Créer un fichier nommé 'supprimer le fichier.shot'Avec le code suivant pour prendre le nom de fichier de l'utilisateur et supprimer. Ici, '-je' L'option est utilisée pour obtenir l'autorisation de l'utilisateur avant de supprimer le fichier.

#!/ bac / bash
Echo "Entrez le nom de fichier pour supprimer"
Lire FN
rm -i $ fn

Exécutez le fichier avec la commande bash.

$ ls
$ bash delete_file.shot
$ ls

Aller au sommet

Ajouter au fichier:

De nouvelles données peuvent être ajoutées dans n'importe quel fichier existant en utilisant '>>' opérateur à bash. Créer un fichier nommé 'APPEND_FILE.shot'et ajouter le code suivant pour ajouter un nouveau contenu à la fin du fichier. Ici, 'Apprendre Laravel 5'sera ajouté au OF'livre.SMS' fichier après exécution du script.

#!/ bac / bash
Echo "Avant d'ajouter le fichier"
livre de chat.SMS
Echo "Learning Laravel 5" >> Livre.SMS
Echo "après avoir ajouté le fichier"
livre de chat.SMS

Exécutez le fichier avec la commande bash.

$ BASH APPEND_FILE.shot

Aller au sommet

Tester si le fichier existe:

Vous pouvez vérifier l'existence d'un fichier en bash en utilisant '-e' ou '-F' option. '-F' L'option est utilisée dans le script suivant pour tester l'existence du fichier. Créer un fichier nommé, 'file_exist.shot'et ajouter le code suivant. Ici, le nom de fichier passera de la ligne de commande.

#!/ bac / bash
nom de fichier = 1 $
si [-f "$ filename"]; alors
écho "le fichier existe"
autre
Echo "Le fichier n'existe pas"
Fi

Exécutez les commandes suivantes pour vérifier l'existence du fichier. Ici, livre.SMS le fichier existe et livre2.SMS n'existe pas dans l'emplacement actuel.

$ ls
$ bash file_exist.livre.SMS
$ bash file_exist.sh book2.SMS

Aller au sommet

Envoyer un e-mail:

Vous pouvez envoyer un e-mail en utilisant 'poster' ou 'envoyer un mail' commande. Avant d'utiliser ces commandes, vous devez installer tous les packages nécessaires. Créer un fichier nommé, 'Mail_example.shot'et ajouter le code suivant pour envoyer l'e-mail.

#!/ bac / bash
Destinataire = ”admin @ Exemple.com »
Sujet = "salutation"
Message = ”Bienvenue sur notre site"
'Mail -s $ Sujet $ Fénérant <<< $Message'

Exécutez le fichier avec la commande bash.

$ bash mail_example.shot

Aller au sommet

Obtenez l'analyse actuelle de la date actuelle:

Vous pouvez obtenir la valeur et la valeur d'heure du système actuels en utilisant 'date' commande. Chaque partie de la valeur de la date et de l'heure peut être analysée en utilisant 'Y ',' M ',' D ',' H ',' M ' et 'S '. Créer un nouveau fichier nommé 'date_parse.sh ' et ajouter le code suivant à des valeurs séparées de jour, de mois, d'année, d'heure, de minute et de seconde.

#!/ bac / bash
Année = 'date +% y'
Mois = 'date +% m'
Jour = 'date +% D'
Heure = 'date +% h'
Minute = 'date +% m'
Deuxième = 'date +% s'
écho à «date»
ECHO "La date actuelle est: $ Jour - $ mois à $"
Echo "L'heure actuelle est: $ hour: $ minute: $ second"

Exécutez le fichier avec la commande bash.

$ bash date_parse.shot

Aller au sommet

Commande d'attente:

attendez est une commande intégrée de Linux qui attend de terminer tout processus en cours d'exécution. attendez La commande est utilisée avec un ID de processus ou un ID de travail particulier. Si aucun ID de processus ou l'ID de travail n'est donné avec la commande d'attente, il attendra que tous les processus enfants actuels se terminent et renvoient l'état de sortie. Créer un fichier nommé 'wait_example.sh ' et ajouter le script suivant.

#!/ bac / bash
écho "commande d'attente" et
process_id = $!
attendre $ process_id
Echo "sorti avec le statut $?"

Exécutez le fichier avec la commande bash.

$ bash wait_example.shot

Vous pouvez vérifier le lien suivant pour en savoir plus sur la commande Bash Linux Wait.

Aller au sommet

Commande de sommeil:

Lorsque vous souhaitez suspendre l'exécution de n'importe quelle commande pour une période de temps spécifique, vous pouvez utiliser dormir commande. Vous pouvez définir le montant de retard par secondes (s), minutes (m), heures (h) et jours (d). Créer un fichier nommé 'Sleep_example.sh ' et ajouter le script suivant. Ce script attendra 5 secondes après l'exécution.

#!/ bac / bash
Echo "Attendez 5 secondes"
sommeil 5
Echo "terminé"

Exécutez le fichier avec la commande bash.

$ bash sleep_example.shot

Vous pouvez vérifier le lien suivant pour en savoir plus sur la commande Bash Linux Sleep.

Aller au sommet

J'espère qu'après avoir lu cet article, vous avez un concept de base sur le langage des scripts bash et vous pourrez les appliquer en fonction de vos exigences.