5 SCRIPTS Shell pour les débutants Linux pour apprendre la programmation de Shell - Part II

5 SCRIPTS Shell pour les débutants Linux pour apprendre la programmation de Shell - Part II

Pour apprendre quelque chose, vous devez le faire, sans craindre d'être infructueux. Je crois au praticité et je vous accompagnerai donc dans le monde pratique de la langue des scripts.

Apprendre les scripts de base

Cet article est une extension de notre premier article Comprendre Linux Shell et Basic Shell Scripting - Part I, où nous vous avons donné un avant-goût des scripts, en continuant que nous ne vous décevons pas dans cet article.

Script 1: dessiner un modèle spécial

#!/ bin / bash max_no = 0 echo -n "Entrez le numéro entre (5 à 9):" Lire max_no si ! [$ Max_no -ge 5 -a $ max_no -le 9]; Puis écho "wtf… Je demande à saisir le nombre entre 5 et 9, réessayez" sortir 1 fi claire pour ((i = 1; i = i; s--)) faire echo -n "" fait pour ((j = 1; J<=i; j++ )) do echo -n " ." done echo "" done ###### Second stage ###################### for (( i=MAX_NO; i>= 1; i-)) faire pour ((s = i; s<=MAX_NO; s++ )) do echo -n " " done for (( j=1; j<=i; j++ )) do echo -n " ." done echo "" done echo -e "\n\n\t\t\t Whenever you need help, Tecmint.com is always there"

La plupart des éléments ci-dessus 'mots clés'serait connu de vous et la plupart d'entre eux sont explicatifs. e.g., Max Définit la valeur maximale de la variable, car est une boucle et tout ce qui se trouve dans la boucle est en train de s'exécuter encore et encore jusqu'à ce que la boucle soit valable pour la valeur donnée de l'entrée.

Échantillon de sortie
[[Protégé par e-mail] ~] # Chmod 755 Special_pattern.sh [[e-mail protégé] ~] # ./ Spécial_pattern.sh entrent le numéro entre (5 à 9): 6… chaque fois que vous avez besoin d'aide, Tecmint.com est toujours là

Si vous êtes un peu conscient de tout langage de programmation, l'apprentissage du script ci-dessus n'est pas difficile, même si vous êtes nouveau dans le calcul, la programmation et Linux, cela ne sera pas très difficile.

Télécharger Special_Pattern.shot

Script 2: Création de script coloré

Qui dit, Linux est incolore Et ennuyeux, enregistrez les codes ci-dessous sur tout [point]] shot, Faites-le exécutable et exécutez-le, n'oubliez pas de me dire comment c'était, pensez à ce que vous pouvez réaliser, en le mettant en œuvre quelque part.

#!/ bin / bash claire echo -e "33 [1m hello world" # Effet bold echo -e "33 [5m blink" # blink Effet echo -e "33 [0m hello world" # Retour à l'écho normal -e "33 [ 31m Hello World "# Red Color Echo -e" 33 [32m Hello World "# Green Color Echo -e" 33 [33m Hello World "# Voir rester à l'écran Echo -e" 33 [34m Hello World "Echo -e" 33 [35m Hello World "Echo -e" 33 [36m Hello World "Echo -e -N" 33 [0m "# Retour à Echo normal -e" 33 [41m Hello World "Echo -e" 33 [42m Hello World "Echo" -e "33 [43m Hello World" Echo -e "33 [44m Hello World" Echo -e "33 [45m Hello World" Echo -e "33 [46m Hello World" Echo -e "33 [0m Hello World"

Note: Ne vous souciez pas du code couleur maintenant, ceux qui sont importants pour vous seront à votre langue, progressivement.

Avertissement: Votre terminal pourrait ne pas avoir l'installation de clignoter.

Échantillon de sortie
[[Protégé par e-mail] ~] # Chmod 755 coloré.sh [[e-mail protégé] ~] # ./ Coloré.shLello world blink Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello World Hello Hello Hello Hello Hello Hello Hello Hello Hello World Hello Hello Hello World Hello World

Télécharger coloré.shot

Script 3: crypter un fichier / répertoire

Ce script cryptera un déposer (se souvenir? annuaire/ /conducteur/… . tout est traité comme un fichier, dans Linux). La limitation actuelle du script ci-dessus est qu'elle ne prend pas en charge la complétion automatique du nom en utilisant LANGUETTE. De plus, vous devez placer le script et le fichier pour être crypté dans le même dossier. Vous devrez peut-être installer "pieu", en utilisant Miam ou apte le package, si nécessaire.

[[Protégé par e-mail] ~] # yum install pinentry-gui [[e-mail protégé] ~] # apt-get install pinentry-gui

Crète un fichier appelé "Crypter.shot»Et placez le script suivant, faites-le exécutable et exécutez-le comme indiqué.

#!/ bin / bash echo "Bienvenue, je suis prêt à crypter un fichier / un dossier pour vous" echo "Actuellement, j'ai une limitation, me placez-moi dans le même dossier, où un fichier à crypter est présent" echo "entrez le fichier exact Nom avec Extension "Read Fichier; gpg -c $ fichier echo "J'ai crypté le fichier avec succès…" echo "maintenant je vais supprimer le fichier d'origine" RM -rf $

Échantillon de sortie

[[Protégé par e-mail] ~] # Chmod 755 Encrypt.sh [[e-mail protégé] ~] # ./Crypter.Il est bienvenu, je suis prêt à crypter un fichier / dossier pour vous actuellement j'ai une limitation, me place dans le même dossier, où un fichier à crypter est présent entre le nom de fichier exact avec un package d'extension.Xml ┌─ase Uil, entrez en phrase de passe │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └fiquement _____________________________ │ │ │ │ └fique IngE Ui Cette phrase de passe │ │ │ │ Phras de passe ******** ________________________________ │ │ │ │ │ └ └fique Ui 

gpg -c : Cela cryptera votre fichier, en utilisant une clé passante aka mot de passe. Dans ce processus d'apprentissage, vous n'auriez jamais pensé que le processus d'apprentissage réel pourrait être aussi facile. Donc, après avoir chiffré un fichier ce dont vous avez besoin? Évidemment! Décriture du fichier. Et je te veux - l'apprenant, le lecteur pour écrire le script de décryptage vous-même, ne t'inquiète pas, je ne te quitte pas au milieu, je veux juste que tu gagnes quelque chose de cet article.

Note: Nom de fichier GPG -D.GPG > nom de fichier est ce que vous devez implémenter dans votre script de décryptage. Vous pouvez poster votre script en commentaire en cas de succès, sinon vous pouvez me demander de l'écrire pour vous.

Télécharger Encrypt.shot

Script 4: Vérification de l'utilisation du serveur

La vérification de l'utilisation du serveur est l'une des tâches importantes d'un administrateur, et un bon administrateur est celui qui sait comment automatiser sa tâche quotidienne. Vous trouverez ci-dessous le script qui donnera de nombreuses informations sur votre serveur. Vérifiez-le vous-même.

#!/ Date de bac / bash; Echo "Up-temps:" Uptime Echo "actuellement connecté:" W echo "--------------------" Echo "Last Logins:" Last -a | Head -3 Echo "--------------------" "Echo" Disque et utilisation de la mémoire: "DF -H | xargs | awk 'print "Disque gratuit / total:" $ 11 "/" $ 9' gratuit -m | xargs | awk 'imprimer "Mémoire gratuite / totale:" $ 17 "/" $ 8 "MB"' echo "--------------------" start_log = "head -1 / var / log / messages | Cut -C 1-12 "oom =" grep -ci kill / var / log / messages "echo -n" erreurs oom depuis $ start_log: "$ oom echo" "echo" ---- ---------------- "Echo" Utilisation et processus les plus chers: "Top -B | Head -3 Echo Top -B | Head -10 | Tail -4 Echo" --- ----------------- "Echo" Open TCP Ports: "NMAP -P- -T4 127.0.0.1 Echo "--------------------" Echo "Connexions actuelles:" SS -S Echo "--------------- ----- Processus "Echo": "PS Auxf - VIE = 200 ECHO" -------------------- "Echo" VMSTAT: "VMSTAT 1 5
Échantillon de sortie
[[Protégé par e-mail] ~] # CHMOD 755 Server-Salth.sh [[e-mail protégé] ~] # ./ Serveur-santé.Sh TUe 16 22:01:06 IST 2013 Utilisation de la baisse: 22:01:06 en hausse 174 jours, 4:42, 1 utilisateur, charge de chargement: 0.36, 0.25, 0.18 actuellement connecté: 22:01:06 en hausse 174 jours, 4:42, 1 utilisateur, moyenne de chargement: 0.36, 0.25, 0.18 utilisateur tty de [e-mail protégé] inactif jcpu pcpu ce que Tecmint pts / 0 116.72.134.162 21:48 0.00S 0.03s 0.03S SSHD: Tecmint [priv] -------------------- Dernières connexions: Tecmint PTS / 0 TUe 16 juil 21:48 Toujours enregistré en 116.72.134.162 Tecmint PTS / 0 TUe 16 juillet 21:24 - 21:43 (00:19) 116.72.134.162 -------------------- Utilisation du disque et de la mémoire: Disque gratuit / total: 292g / 457g Mémoire gratuite / totale: 3510/3838 MB ------- ------------- Erreurs OOM depuis 14 juil - 22:01:07 en haut de 174 jours, 4:42, 1 utilisateur, moyenne de chargement: 0.36, 0.25, 0.18 tâches: 149 au total, 1 course, 148 sommeil, 0 arrêté, 0 CPU zombie (s): 0.1% nous, 0.0% sy, 0.0% ni, 99.3% ID, 0.6% wa, 0.0% salut, 0.0% si, 0.0% st pid utilisateur pr ni ver Res shr s% cpu% mEM time + commande 1 racine 20 0 3788 1128 932 s 0.0 0.0 0:32.94 Init 2 Root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root rt 0 0 0 0 s 0.0 0.0 0:14.07 Migration / 0

Note: Je vous ai donné le script qui donne la sortie dans le terminal lui-même, que diriez-vous d'obtenir la sortie dans un fichier pour référence future. Implémentez-le à l'aide de l'opérateur de redirection.

  1. '>': l'opérateur de redirection provoque une création de fichiers, et s'il existe, le contenu est écrasé.
  2. '>>': lorsque vous utilisez >>, vous ajoutez des informations, plutôt que de les remplacer.
  3. '>>'est sûr, par rapport à'>'

Télécharger le serveur-santé.shot

Script 5: Vérifiez l'espace du disque et envoie une alerte par e-mail

Que diriez-vous de recevoir un e-mail lorsque le disque utilise dans la partition PARTIE est plus grand que maximum autorisé, c'est un script de sauvetage pour les administrateurs Web avec peu de modification.

Max = 95 [e-mail protégé] partie = sda1 use = "df -h | grep $ part | awk" print $ 5 '| coupe -d '%' -f1 'si [$ use -gt $ max]; Puis écho "pourcentage utilisé: $ use" | Mail -s "Sans à court d'espace disque" $ e-mail fi

Note: Retirer "UTILISATEUR"Avec votre nom d'utilisateur. Vous pouvez vérifier le courrier en utilisantposter' commande.

Télécharger Check-Disk-espace.shot

L'écriture et la programmation de script sont au-delà des limites, tout et tout pourrait être implémenté comme requis. C'est tout pour l'instant, dans mon tout prochain article, je vais donner à vos différentes saveurs de script. Jusque-là, restez au frais et réglé, profitez.