30 votes

Vaut-il la peine d'apprendre BASH quand je connais Perl?

Tous mes scripts sont effectués en Perl, je peux exécuter un liners sur la ligne de commande et l'expression rationnelle de Perl semble beaucoup plus facile. Y a-t-il quelque chose que je puisse faire en BASH que je ne puisse pas faire en Perl?

Je ne me sens pas comme un vrai hacker à moins que je ne passe du temps à fouiller dans BASH et à commencer à utiliser Sed et Awk également.

Est-ce que ça vaut le coup, ou est-ce que je demande juste de la douleur et de la frustration?

49voto

TimB Points 3646

Bash symbolise l'esprit de UNIX -- la combinaison de plusieurs outils simples pour résoudre un problème plus complexe, généralement à l'aide de tuyaux pour diriger la sortie d'une commande vers l'entrée de la suivante. C'est un style de programmation que je pense qu'il est bon de savoir; trop de gens écrire tout un programme pour obtenir quelque chose qui peut être fait par la combinaison de quelques outils existants sur la ligne de commande.

Donc oui, apprendre le bash. Même si vous ne les utilisent pas beaucoup de vous-même, vous serez également en mesure de lire les nombreux scripts bash qui sont des éléments clés de la plupart des systèmes UNIX/Linux.

46voto

Matt Curtis Points 12454

Si vous êtes à l'aise avec Perl, continuez à utiliser Perl.

Bash est pratique pour savoir si vous allez éditer des scripts existants (par exemple des trucs dans /etc/init.d), et vous trouverez probablement que vous pouvez le lire assez facilement si vous connaissez Perl.

Si vous êtes le genre de personne qui aime apprendre de nouvelles langues, restez coincé avec bash, awk, sed, etc. Si vous êtes préoccupé par la douleur et la frustration, restez avec ce que vous savez.

Si vous voulez vous sentir comme un hacker, apprenez le Lisp.

18voto

SquareCog Points 12947

Vous devez apprendre à le lire.

Vous n'avez pas à apprendre à l'écrire.

Mais vos amis administrateurs système vous regarderont de façon drôle lorsque vous écrivez des wrappers perl pour des tâches cron.

La chose pour laquelle j'utilise le plus souvent bash est quelque chose comme ceci:

 for serv in `cat server_names.txt`; do 
   ssh $serv 'some command'; 
done;
 

Bien sûr, je pourrais le faire en Perl ... mais cela semble juste un peu exagéré.

10voto

Greg Cottman Points 428

Apprendre le bash. Un bon programmeur a plusieurs cordes à leur arc et les scripts shell est à la base de toute bonne UNIX développeur.

Bien sûr, vous pouvez faire beaucoup de choses en perl, j'adore, mais la moitié du temps les commandes UNIX ont déjà fait le travail pour vous. La combinaison des commandes UNIX dans un pipeline est le véritable secret de la coquille de piratage. Vous avez à faire beaucoup de code à l'égalité de quelque chose comme:

find | grep -l | xargs perl -e "xxx"

À tout le moins à apprendre comment utiliser alors while, case et test commandes, en collaboration avec la variable des opérateurs dans ${var:xxx} constructions.

8voto

paxos1977 Points 25088

Non ... si vous savez coder en Perl / Python / Ruby, ne vous embêtez pas à apprendre bash.

APPRENEZ cependant à utiliser la ligne de commande UNIX - c'est-à-dire les tuyaux, les redirections et les commandes utiles.

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