79 votes

Est-il utiliser pour l'écriture de scripts Bash plus?

Je viens de terminer ma deuxième année d'université CS étudiant, donc mon "monde réel" les connaissances sont insuffisantes. J'ai appris Java de ma première année, a continué avec Java et ramassa C et Bash simple script de mon deuxième. Cet été, je suis en train d'apprendre le Perl (Dieu me vienne en aide). J'ai flirté avec Python un peu dans le passé.

Ma question est, maintenant que nous avons très lisible, très accessible en écriture, les langages de script comme Python, Ruby, Perl, etc, pourquoi personne ne écrire des scripts Bash? Est-il quelque chose que je suis absent? Je sais que mon linux a perl et python. Ne sont-ils pas omniprésent assez? Est-il vraiment quelque chose c'est plus facile de le faire en Bash que dans certains autres hll?

62voto

Matthew Flaschen Points 131723

Entre autres choses, bash est utile lorsque la plupart de ce que vous faites est de la communication et de la tuyauterie entre les différents programmes (dont beaucoup sont également de série). Et il y a de nombreux environnements où bash (ou au moins un shell POSIX) est disponible, mais en Perl et Python ne le sont pas.

Et bien sûr, vous devez faire la distinction entre interactive bash script bash. Ubuntu récemment changé de défaut de script shell (#!/bin/sh) à dash parce que c'était beaucoup plus rapide. Cependant, bash a des fonctionnalités interactives dash n'a pas (zsh est encore mieux, à mon humble avis).

Voir aussi Est-il intéressant d'apprentissage BASH quand je sais que Perl?

38voto

microspino Points 4294

Bash est incroyablement utile dans l'administration du système, de déploiement d'applications web, les données croquer, sutomated sauvegardes, même obtenir des-choses-fait au jour le jour la gestion pour n'en nommer vraiment quelques-uns d'entre eux. Je pense qu'Il est trop tôt pour vous juger un "vétéran C'soldat" comme BASH.

EDIT googler autour de:

Je tiens également à mentionner que TextMate un succès OS-X programme a beaucoup de Bash machines à l'intérieur.

29voto

daramarak Points 3662

La vraie différence entre bash et python est que python est un script d'usage général de la langue, tandis que bash est simplement un moyen de lancer une myriade de petits (et souvent très rapide), les programmes une série. Python peut le faire, mais il n'est pas optimisé pour elle. Les programmes de tri, de recherche, uniq, scp) peut faire des tâches très complexes, très simplement, et bash permet à ces tâches pour interagir de manière très simple avec de la tuyauterie, des bouffées de chaleur de sortie à partir et vers des fichiers ou des périphériques, etc.

Alors que Python peut exécuter les mêmes programmes, vous serez forcé de faire des scripts bash dans le script python pour accomplir la même chose, et puis vous êtes coincé avec python et bash. Les deux sont beaux par eux-mêmes, mais à une combinaison de ceux qui ne s'améliorent pas quelque chose à mon humble avis.

25voto

mikek3332002 Points 1989

Bash les scripts permettent d'automatiser les tâches en ligne de commande en utilisant le même langage que vous le feriez si vous tapez les commandes manuellement.

Exemple Trivial de liste $PATH

Bash

#!/bin/sh
echo $PATH

Python

import os
print os.getenv("path")

8voto

poke Points 64398

Ainsi, lors de l'écriture avec bash, vous pouvez directement utiliser tous les outils de que vous avez sur la ligne de commande de votre script. Avec toute autre langue, il faut d'abord exécuter la commande et obtenir un résultat etc. Un script simple (par exemple) permet d'obtenir une liste de processus, traverse grep et obtient un résultat serait beaucoup plus compliqué dans d'autres langues. En tant que tel, bash est toujours un bon outil pour écrire des choses rapides.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X