
Edmund Richardson
0
3243
428
Le shell est un programme sous un système d'exploitation Linux ou Unix qui vous permet d'entrer des commandes à exécuter par le système. Quand une fenêtre de terminal est ouverte sur un ordinateur Linux, elle lance le programme shell qui présente une interface pour entrer des commandes. Cette interface est appelée interface de ligne de commande. Lorsqu'une commande est entrée, elle est exécutée par le shell et la sortie est affichée à l'écran..
En plus de pouvoir accepter et exécuter des commandes de manière interactive, le shell peut également exécuter des commandes stockées dans un fichier. Ce mode d'exécution est appelé scripts shell, et dans cet article, nous couvrons les bases du script shell 5 raisons pour lesquelles vous devriez utiliser PowerShell au lieu de scripts en batch 5 raisons pour lesquelles vous devez utiliser PowerShell au lieu de scripts en batch PowerShell est ce que vous obtiendrez si vous répondez à l'invite de commande avec Batch Scripting, inséré quelques fonctionnalités supplémentaires, et fait grimper le tout de plusieurs crans. Voici plusieurs raisons pour lesquelles vous devriez l'essayer. .
1. Histoire de la coquille
Depuis Unix dans les années 1970, il existait un programme shell appelé Shell V6 développé par Ken Thomson. C'était un shell interactif et manquait de capacité de script.
Il a été suivi par le Bourne Shell en 1977 et reste utilisé aujourd'hui comme shell par défaut pour le racine Compte. Cette coquille a ajouté des capacités de script qui se sont révélées extrêmement utiles dans la pratique au fil des ans.
Le développement ultérieur de la coque dans les années 1980 a donné lieu à de nombreuses variantes de coque populaires, les plus populaires étant la C-Shell et le Korn Shell. Chacune de ces coquilles a sa propre syntaxe qui, dans certains cas, est radicalement différente de la coquille originale..
L’un des coquillages les plus populaires aujourd’hui est le Bash Shell. Bash signifie Bourne-Again-Shell et est une variante grandement améliorée de la Bourne Shell d'origine.
Dans cet article, nous décrivons les scripts de shell pour le shell Bash Un guide rapide sur le shell Bash Linux dans Windows 10 Un guide rapide sur le shell Bash Linux dans Windows 10 Vous pouvez maintenant exécuter Linux sur Windows. En savoir plus sur Bash sous Windows, en expliquant comment et pourquoi vous devez l'installer, en passant par des fonctionnalités cachées que vous ne connaissiez probablement pas. .
2. Exécuter un script shell
Comment exécutez-vous un script shell? Simple. Il suffit de transmettre le chemin du script en tant qu’argument au shell:
Un exemple de script shell:
echo "bonjour le monde"
Exécutez-le comme suit:
$ bash hello.sh # affiche hello world
Remarque: Le shell exige que les lignes soient terminées par des caractères LF (saut de ligne). Si vous écrivez votre script shell sous Windows et essayez de l'exécuter directement sur un système Linux, vous risquez de rencontrer des erreurs. Windows utilise la combinaison CR-LF (Carriage-Return-Line-Feed) pour la terminaison de ligne. Ceci doit être converti en LF uniquement. Vérifiez votre éditeur Windows pour savoir comment faire cela..
Il existe un autre moyen d'exécuter un script shell directement en tant que commande. Insérer la ligne suivante (la hashbang déclaration) comme première ligne de votre script shell.
#! / bin / bash
Avec ce changement, notre script shell simple est maintenant:
#! / bin / bash echo "bonjour le monde"
Maintenant, vous devez rendre le fichier de script exécutable comme suit:
$ chmod + x hello.sh
À ce stade, vous pouvez exécuter le fichier de script directement sans avoir à référencer explicitement le shell.
$ hello.sh # affiche hello world
Voyons maintenant quelques avantages de l’utilisation de scripts shell: Que sont les scripts CGI et comment améliorent-ils les sites Web? Que sont les scripts CGI et comment améliorent-ils les sites Web? CGI signifie Common Gateway Interface. C'est un protocole standard permettant aux serveurs Web d'exécuter des programmes et de générer des sorties pour les navigateurs Web. En savoir plus sur les scripts CGI et comment ils peuvent améliorer votre site Web. .
3. Automatisation des tâches
Le premier avantage de l'utilisation de scripts shell est l'automatisation des tâches fréquemment exécutées. 7 tâches quotidiennes que vous ne saviez pas pouvoir automatiser en quelques minutes 7 tâches quotidiennes que vous ne saviez pas que vous pourriez automatiser en quelques minutes Il y a beaucoup de choses que vous pouvez automatiser maintenant. cela vous fera gagner du temps et vous permettra de vous concentrer sur d'autres choses. Nous vous donnons sept éléments que vous pouvez automatiser dès maintenant avec les bons outils. . Supposons que vous ayez une tâche à accomplir au quotidien. Si vous devez exécuter plusieurs commandes quotidiennement sur votre système Linux, vous pouvez stocker ces commandes dans un fichier et exécuter le script. Les exemples comprennent:
- Archivez et téléchargez tous les jours un fichier ou un dossier sur un système de stockage dans le cloud. Dropbox, Google Drive et OneDrive: quel stockage en nuage vous convient le mieux? Dropbox, Google Drive et OneDrive: quel stockage en nuage vous convient le mieux? Avez-vous changé votre vision du stockage en nuage? Les options populaires de Dropbox, Google Drive et OneDrive ont été rejointes par d’autres. Nous vous aidons à déterminer le service de stockage dans le nuage que vous devriez utiliser. comme S3.
- Compressez les fichiers journaux qui ont tendance à grandir chaque jour.
- Récupérer les cours des actions, analyser les données récupérées et déclencher un courrier électronique ou un SMS lorsque certaines conditions sont remplies (prix trop élevés ou trop bas).
4. Combinaison de plusieurs commandes
En plus d'automatiser les tâches fréquentes, vous pouvez également trouver avantageux de combiner plusieurs séquences de commandes en une seule. Se souvenir d'une commande unique est beaucoup plus simple que plusieurs commandes, sans parler de l'ordre dans lequel elles doivent être exécutées.
Un exemple serait la séquence de démarrage du système d'exploitation Linux Guide de démarrage pour Linux Guide de démarrage pour Linux Un guide de démarrage pour débutants sous Linux! Vous avez probablement entendu parler de Linux, le système d’exploitation libre et à code source libre qui pousse Microsoft. lui-même. Lors du démarrage, le système d'exploitation exécute un certain nombre de commandes pour que le système se trouve dans un état approprié. Ces commandes sont en fait des scripts shell qui vivent sous le /etc annuaire. Si vous jetez un coup d'œil à l'un de ces scripts shell, vous vous rendrez compte de la complexité du démarrage d'un système, que vous devrez peut-être exécuter manuellement en l'absence de scripts shell..
Ce qui suit est un exemple de script shell, / etc / profile, qui est exécuté chaque fois qu'un utilisateur se connecte. Imaginez taper ces commandes à la main!
# / etc / profile: fichier .profile à l'échelle du système pour le shell Bourne (sh (1)) # et les shell compatibles Bourne (bash (1), ksh (1), cendres (1),…). si ["$ PS1"]; alors si ["$ BASH"] && ["$ BASH"! = "/ bin / sh"]; then # Le fichier bash.bashrc définit déjà la valeur par défaut PS1. # PS1 = "\ h: \ w \ $" if [-f /etc/bash.bashrc]; puis . /etc/bash.bashrc fi else if ["'id -u'" -eq 0]; then PS1 = "#" sinon PS1 = "$" fi fi fi # Le umask par défaut est maintenant géré par pam_umask. # Voir pam_umask (8) et /etc/login.defs. if [-d /etc/profile.d]; puis pour i dans /etc/profile.d/*.sh; faire si [-r $ i]; puis . $ i fi fait non défini je fi
5. Plus facile à développer
Il est possible d'effectuer les mêmes actions qu'un script shell dans un programme standard écrit en C / C ++. Cependant, il est beaucoup plus facile d'écrire et de déboguer un script shell qu'un programme C / C ++. Spécialement pour les tâches d'administration système telles que l'exécution de commandes externes, la création et la suppression de fichiers et de répertoires, la redirection des sorties, etc..
Les programmes C / C ++ conviennent mieux à un niveau d'opération beaucoup plus bas, comme appeler des appels système, manipuler des structures de données, etc..
6. Transparence
Un script shell, en tant que fichier texte, peut facilement être visualisé pour vérifier les actions qu’il effectue. En revanche, le seul moyen de savoir ce qu’est un programme écrit dans un langage tel que C / C ++ (et compilé dans un exécutable) consiste à choisir de vous en informer ou si vous avez accès au code source. Par exemple, vous pouvez vérifier si un script shell supprime des fichiers et si vous avez besoin de ces fichiers, vous pouvez les copier dans un autre emplacement..
Il est également beaucoup plus facile de diagnostiquer les problèmes liés aux scripts shell plutôt qu'aux programmes classiques, car vous pouvez consulter le code source. Ce script échoue-t-il car un répertoire n'existe pas? Vous pouvez regarder dans le code du script et créer le répertoire (bien qu'un script shell sage devrait le vérifier et le créer pour éviter de telles erreurs).
7. Portable
Un script shell Guide rapide de Linux Bash Shell sous Windows 10 Guide rapide de Linux Bash Shell sous Windows 10 Vous pouvez maintenant exécuter Linux sous Windows. En savoir plus sur Bash sous Windows, en expliquant comment et pourquoi vous devez l’installer, en passant par des fonctionnalités cachées que vous ne connaissiez probablement pas. peuvent être transférés vers d'autres systèmes d'exploitation Unix et de type Unix et exécutés (si le shell lui-même est présent). Même lors du transfert d'un script shell d'architectures différentes telles que x86, MIPS, Sparc, etc., les scripts shell sont beaucoup plus portables que les programmes C / C ++..
Le seul moyen de transférer et d'utiliser un programme C / C ++ sur un autre système consiste à copier le code source, à générer le programme et à tenter de l'exécuter. Même dans ce cas, il risque de ne pas fonctionner correctement s'il utilise un code spécifique à l'architecture..
Maintenant que vous avez une idée des scripts shell et de leurs nombreux avantages, ne souhaitez-vous pas les utiliser pour vos tâches? Quels problèmes avez-vous rencontrés lors de leur utilisation? Veuillez nous en informer dans les commentaires ci-dessous.