Linux: essayer de simples scripts shell

Si vous n'êtes pas un programmeur, vous pouvez vous sentir inquiet de la programmation. Mais shell scripting (ou programmation) sous Linux peut être aussi simple que le stockage de quelques commandes dans un fichier. En fait, vous pouvez avoir un programme shell utile qui a une seule commande.

Les scripts shell sont populaires parmi les administrateurs système. Si vous êtes un administrateur système, vous pouvez construire une collection de scripts shell personnalisés qui vous aident à automatiser les tâches que vous effectuez souvent. Si un disque dur semble se complète, par exemple, vous pouvez trouver tous les fichiers qui dépassent une certaine taille (par exemple, 1 Mo) et qui n'a pas été consultée dans les 30 derniers jours.

En outre, vous pouvez envoyer un message e-mail à tous les utilisateurs qui ont de gros fichiers, leur demandant d'archiver et de nettoyer ces fichiers. Vous pouvez effectuer toutes ces tâches avec un script shell. Vous pourriez commencer par le suivant trouver commande pour identifier des fichiers volumineux:

find / -type f -atime +30 -size + 1000k -exec ls -l {} -> / tmp / largefiles

Cette commande crée un fichier nommé / tmp / largefiles, qui contient des informations détaillées sur les anciens fichiers de prendre trop de place. Après vous obtenez une liste des fichiers, vous pouvez utiliser quelques autres commandes Linux - comme Trier, Couper, et sed - à préparer et à envoyer des messages aux utilisateurs qui ont de gros fichiers à nettoyer.

Au lieu de taper toutes ces commandes manuellement, placez-les dans un fichier et de créer un script shell. Ce, en un mot, est l'essence de scripts shell - de recueillir des commandes shell dans un fichier de sorte que vous pouvez facilement effectuer des tâches d'administration système répétitives.

bash scripts, tout comme la plupart des commandes Linux, acceptent les options en ligne de commande. A l'intérieur du script, vous pouvez consulter les options que 1 $, 2 $, et ainsi de suite. Le nom spécial $ 0 fait référence au nom du script lui-même.

Voici un exemple typique bash script qui accepte des arguments:




#! / bin / shecho "Le nom de ce script est: $ 0" Echo Argument 1: 2 $: 1echo $ Argument 2

La première ligne exécute le / bin / sh programme qui traite ensuite le reste des lignes dans le script. Le nom / bin / sh se réfère traditionnellement à la Bourne shell - le premier shell Unix. Dans la plupart des systèmes Linux, / bin / sh est un lien symbolique vers / bin / bash, qui est le programme exécutable pour bash.

Enregistrer ce simple script dans un fichier nommé simple et de faire ce fichier exécutable avec la commande suivante:

chmod + x simples

Maintenant, exécutez le script comme suit:

./ simples

Il affiche le résultat suivant:

Le nom de ce script est: ./simpleArgument 1: Argument 2:

La première ligne indique le nom du script. Parce que vous avez exécuter le script sans arguments, le script affiche pas de valeurs pour les arguments.

Maintenant, essayez d'exécuter le script avec quelques arguments, comme ceci:

./ simple »Ceci est un argument de« deuxième troisième argument

Cette fois le script affiche plus de sortie:

Le nom de ce script est: ./simpleArgument 1: Ceci est un argumentArgument 2: deuxième argument

Comme le montre de sortie, le shell traite la chaîne entière dans les guillemets doubles comme un seul argument. Sinon, le shell utilise les espaces comme des séparateurs entre les arguments sur la ligne de commande.

Cet exemple de script ignore le troisième argument parce que le script est conçu pour imprimer seulement les deux premiers arguments.


» » » » Linux: essayer de simples scripts shell