Navigation dans le monde des scripts Linux Bash - Partie III

Navigation dans le monde des scripts Linux Bash - Partie III

Les articles suivants suivants de 'Script shellLes séries étaient très appréciées et donc j'écris cet article pour étendre le processus d'apprentissage sans fin.

SCRIPTION DE BASE SOCKE PART-3
  1. Comprendre les conseils de langage de script de shell Linux de base - Partie I
  2. 5 SCRIPTS Shell pour les débutants Linux pour apprendre la programmation de Shell - Part II
Mots-clés bash

UN mot-clé est un mot ou un symbole qui a une signification particulière pour un langage informatique. Les symboles et les mots suivants ont des significations spéciales pour Frapper Quand ils ne sont pas et le premier mot d'une commande.

! ESAC SELECT CAS

Contrairement à la plupart des langues informatiques, Frapper permet d'utiliser les mots clés comme Noms variables Même si cela peut rendre les scripts difficiles à lire. Pour garder les scripts compréhensibles, les mots clés ne doivent pas être utilisés pour les noms de variables.

Une commande est implémentée dans shell comme $(commande). Vous devrez peut-être inclure le chemin de commande complet. e.g., $ (/ bin / date), pour une exécution correcte.

Vous connaissez peut-être le chemin du programme spécifique en utilisant 'où est' commande. e.g., où est date

[[e-mail protégé] /] # où la date est la date: / bin / date / usr / share / man / man1 / date.1.gz

C'est suffisant pour l'instant. Nous ne parlerons pas beaucoup de cette théorie maintenant. Venant aux scripts.

Déplacer le répertoire de travail actuel

Passez du répertoire de travail actuel à n'importe quel niveau en fournissant simplement la valeur numérique à la fin du script lors de l'exécution.

#! / bin / bash niveau = 1 $ pour ((i = 1; i <= LEVEL; i++)) do CDIR=… /$CDIR done cd $CDIR echo "You are in: "$PWD exec /bin/bash

Enregistrez les codes ci-dessus comme «en haut.shot«, Sur votre bureau. Le faire exécutable (Chmod 755.shot). Courir:

./en haut.sh 2 (déplacera le répertoire de travail actuel à deux niveaux vers le haut).
./en haut.sh 4 (déplacera le répertoire de travail actuel à quatre niveaux vers le haut).

Utilisation et zone d'application

Dans des scripts plus grands qui contient un dossier à l'intérieur du dossier à l'intérieur… contenant bibliothèques, binaires, Icônes, exécutables, etc à différents emplacements, vous en tant que développeur pouvez implémenter ce script pour passer à l'emplacement souhaité de manière très automatisée.

Note: Car est une boucle dans le script ci-dessus et il continuera de s'exécuter jusqu'à ce que les valeurs soient vraies pour la boucle.

Échantillon de sortie
[[e-mail protégé] /] # chmod 755 UP [[e-mail protégé] /] # ./en haut.SH 2 vous êtes: / [[[e-mail protégé] /] # # ./en haut.SH 4 vous êtes: / [[[e-mail protégé] /] # #

Télécharger.shot

Créer un fichier ou un dossier aléatoire

Créez un fichier aléatoire (dossier) sans risque de duplication.

#! / bin / bash echo "Hello $ user"; ECHO "$ (Uptime)" >> "$ (date)".TXT ECHO "Votre fichier est enregistré sur $ (PWD)"

C'est un script simple, mais cela fonctionne n'est pas aussi simple.

  1. 'écho': Imprime tout écrit dans les citations.
  2. '$': Est une variable de coquille.
  3. '>>': La sortie est redirigea vers la sortie de date commande suivie de SMS extension.

Nous connaissons la sortie de date la commande est date, et temps dans heure, minute, deuxième avec année. Nous pourrions donc obtenir une sortie sur un nom de fichier organisé sans le risque de du nom de fichier duplication. Cela pourrait être très utile lorsque l'utilisateur a besoin du fichier créé avec horodatage pour référence future.

Échantillon de sortie
[[e-mail protégé] /] # ./ Randomfile.SH Hello Server Votre fichier est enregistré sur / home / serveur / Desktop

Vous pouvez afficher le fichier qui est créé sur le bureau avec la date d'aujourd'hui et l'heure actuelle.

[[e-mail protégé] /] # nano sat \ juil \ 20 \ 13 \: 51 \: 52 \ ist \ 2013.txt 13:51:52 Up 3:54, 1 utilisateur, moyenne de chargement: 0.09, 0.12, 0.08

Une implémentation plus détaillée du script ci-dessus est donnée ci-dessous, qui fonctionne sur le principe ci-dessus et est très utile pour collecter les informations réseau d'un Linux serveur.

Télécharger Randomfile.shot

Script pour collecter des informations réseau

Rassemble des informations réseau sur un Linux serveur. Le script est trop grand et il n'est pas possible de publier l'ensemble du code et de la sortie du script ici. Donc, il vaut mieux télécharger le script en utilisant ci-dessous le lien de téléchargement et le tester vous-même.

Note: Vous devrez peut-être installer lsb-core package et autres packages et dépendances requis. Apte ou Miam les forfaits requis. De toute évidence, vous devez être racine Pour exécuter le script car la plupart des commandes utilisées ici sont configurées pour être exécutées comme racine.

Échantillon de sortie
[[e-mail protégé] /] # ./ CollectNetworkInfo.sh les informations de configuration du réseau écrites sur réseau.20-07-13.Info.SMS. Veuillez envoyer ce fichier à envoyer par e-mail à [Protégé par e-mail] _Provider.com. ktop

Vous pouvez modifier l'adresse e-mail ci-dessus dans votre script pour vous faire la poste. Le fichier généré automatiquement peut être affiché.

Télécharger CollectNetWorkInfo.shot

Script pour convertir en majuscules en minuscules

Un script qui convertit MAJUSCULE pour minuscule et redirige la sortie vers un fichier texte "petit.SMS”Qui peut être modifié selon les besoins.

#!/ bin / bash echo -n "Entrez le nom du fichier:" Lire le nom de fichier si [ ! -f $ nom de fichier]; EXO ECHO "FileName $ Nom de fichier n'existe pas" Exit 1 fi Tr '[A-Z] "[A-Z]'> Small.SMS

Ce script ci-dessus peut convertir le cas d'un fichier de n'importe quelle longueur en un seul clic majuscule pour minuscule et vice-versa si nécessaire, avec peu de modification.

Échantillon de sortie
[[e-mail protégé] /] # ./ Convertlowercase.SH Entrée Nom du fichier: A.Fichier initial TXT: A B C D E F G H I J K… 

Nouveau fichier (petit.SMS) sortir:

a b c d e f g h i j k… 

Télécharger ConvertlowerCase.shot

Programme de calculatrice simple

#! / bin / bash clairement somme = 0 i = "y" echo "entrez un non."Lire N1 Echo" Entrez le deuxième non."Lire n2 tandis que [$ i =" y "] fait écho" 1.Ajout "Echo" 2.Soustraction "écho" 3.Multiplication "écho" 4.Division "Echo" Entrez votre choix "lire le cas de Chat $ Ch in 1) sum = 'expr $ n1 + $ n2' echo" sum = "$ sum ;; 2) sum = 'expr $ n1 - $ n2' echo" = "$ sum ;; 3) sum = 'expr $ n1 \ * $ n2' echo" Mul = "$ sum ;; 4) sum = 'expr $ n1 / $ n2' echo" div = "$ sum ;; * ) écho "choix invalide" ;; esac echo "voulez-vous continuer (O / N)) ?"Lire I si [$ je != "y"] puis quitter Fi fait
Échantillon de sortie
[[e-mail protégé] /] # ./ simpcalc.sh entrez un non. 12 Entrez deuxième non. 14 1.Addition 2.Soustraction 3.Multiplication 4.Division Entrez votre choix 1 somme = 26 voulez-vous continuer (y / n))) ? y 1.Addition 2.Soustraction 3.Multiplication 4.Division Entrez votre choix 3 Mul = 14812 Voulez-vous continuer (O / N)) ? n

Télécharger Simpcalalc.shot

Vous avez donc vu à quel point il était facile de créer un programme puissant comme calculs un moyen si simple. Ce n'est pas la fin. Nous allons compenser au moins un autre article de cette série, couvrant une large perspective de la vue administrative.

C'est tout pour le moment. Être le lecteur et le meilleur critique n'oubliez pas de nous dire combien et ce que vous avez apprécié dans cet article et ce que vous voulez voir dans le futur article. Toute question est la bienvenue en commentaire. Jusque-là, restez en bonne santé, sûr et à l'écoute. Comme et Partager nous et nous aider à répandre.