Moi je moinssoie, car qui utilise encore du bourn shell (sh) ?
À part certains dinosaures crampés à leur HP-UNIX ou AIX qui ne tarderont pas à disparaître
Ou d'autres dans l'embarqué qui le gardent comme shell par défaut, soit par "méchanceté" (les allergiques à la GPLv3 comme Android pour qui en plus faire des applis autrement qu'en java pour Davlik, c'est mal…), soit par bêtise (d'autres qui installeront ensuite de gros python ou un perl (mdr…) pour faire des scripts que l'on pourrait très bien faire en bash ou zsh.
Avec la puissance des systèmes embarqués actuels, il vaut mieux y installer un bon vieux bash des familles que de rester en sh (à moins qu'on est vraiment pas la place, mais c'est ni le cas des set top boxes, ni celui des smartphones).
Enfin le bash, alors qu'il est très largement déployé est encore plus généralement énormément sous-employé (En gros la plupart, même chez les "pros" qui font des distribs ou maintiennent des système en prod pour des grosses boîtes très connues, ne l'utilisent qu'à moins de 50% de ses capacités).
Ex: combien connaissent/maîtrisent les "<(commande )", "exec", "eval", "trap", "| while IFS=":" read champ1 reste", "=~" (regex pour le test de bash) ?
Perso, depuis que je maîtrise suffisamment les bash modernes, je ne vois plus aucun intérêt d'utiliser perl (et donc python que je n'ai jamais vraiment appris, mais la plupart disent qu'ils répondent au même besoin).
Le seul inconvénient que je vois à bash, c'est en effet que les features ont été empilées comme on peut, donc ça peut faire crade et surtout ça devient illisible pour la plupart quand on les exploitent pleinement.
(l'avantage de cet inconvénient, et qu'un programme bash peut être beaucoup plus court que le même en python ou en perl).
ps: pour zsh, j'avais essayé un temps, c'est vrai qu'il avait des choses sympas que bash n'a pas, mais aussi quelques réciproques vraies, et la chose qui m'en a éloigné : c'est qu'il est pas (presque) partout par défaut.
ps2: je n'ai pas encore pris l'habitude de tester la version de bash dans mes programmes, et ça peut être mal quand j'utilise des features récentes…
Je moinsse, tu moinsses, il moinsse, nos bots moinssent ...
[^] # Re: *sh VS. python
Posté par jbar (site web personnel) . En réponse au journal Tu souhaites apprendre à programmer en shell. Évalué à -1.
Moi je moinssoie, car qui utilise encore du bourn shell (sh) ?
À part certains dinosaures crampés à leur HP-UNIX ou AIX qui ne tarderont pas à disparaître
Ou d'autres dans l'embarqué qui le gardent comme shell par défaut, soit par "méchanceté" (les allergiques à la GPLv3 comme Android pour qui en plus faire des applis autrement qu'en java pour Davlik, c'est mal…), soit par bêtise (d'autres qui installeront ensuite de gros python ou un perl (mdr…) pour faire des scripts que l'on pourrait très bien faire en bash ou zsh.
Avec la puissance des systèmes embarqués actuels, il vaut mieux y installer un bon vieux bash des familles que de rester en sh (à moins qu'on est vraiment pas la place, mais c'est ni le cas des set top boxes, ni celui des smartphones).
Enfin le bash, alors qu'il est très largement déployé est encore plus généralement énormément sous-employé (En gros la plupart, même chez les "pros" qui font des distribs ou maintiennent des système en prod pour des grosses boîtes très connues, ne l'utilisent qu'à moins de 50% de ses capacités).
Ex: combien connaissent/maîtrisent les "<(commande )", "exec", "eval", "trap", "| while IFS=":" read champ1 reste", "=~" (regex pour le test de bash) ?
Perso, depuis que je maîtrise suffisamment les bash modernes, je ne vois plus aucun intérêt d'utiliser perl (et donc python que je n'ai jamais vraiment appris, mais la plupart disent qu'ils répondent au même besoin).
Le seul inconvénient que je vois à bash, c'est en effet que les features ont été empilées comme on peut, donc ça peut faire crade et surtout ça devient illisible pour la plupart quand on les exploitent pleinement.
(l'avantage de cet inconvénient, et qu'un programme bash peut être beaucoup plus court que le même en python ou en perl).
Exemples de programmes bash "que c'est moi qu'ai fait ça" :
- un bot logger irc : https://github.com/Open-UDC/open-udc/blob/master/scripts/irclogger.sh
- un outil pour faire des bots web avec lynx (je m'en servais pour faire des bots qui jouent à ma place à certains MORPG en php, … et je pourrais m'en servir pour faire des bots qui me plussoie sur dlfp ! ;-)) : https://github.com/jbar/LynxBot
ps: pour zsh, j'avais essayé un temps, c'est vrai qu'il avait des choses sympas que bash n'a pas, mais aussi quelques réciproques vraies, et la chose qui m'en a éloigné : c'est qu'il est pas (presque) partout par défaut.
ps2: je n'ai pas encore pris l'habitude de tester la version de bash dans mes programmes, et ça peut être mal quand j'utilise des features récentes…
Je moinsse, tu moinsses, il moinsse, nos bots moinssent ...