[gull] Truc et astuces: bash: jouons avec les variables et eval

Yves Martin ymartin59 at free.fr
Sun Nov 6 08:43:18 CET 2011


On Sat, 2011-11-05 at 19:02 +0100, Félix Hauri wrote:

> Bon, d'accord, c'est peut être un peu plus lisible en Perl, mais c'est 
> également plus cher.

Bonjour,

Perl peut être autant lisible que tout autre langage, mais certains
diront que ce n'est plus du Perl ! :)

Personnellement comme je ne suis pas avare de quelques caractères de
plus dans un script, j'écris du Perl comme du Java pour avoir un minimum
d'assurance sur ma propre capacité à le relire et le comprendre après 2
mois. C'est moins "fun" mais pour moi c'est rentable sur le long terme.
Et qu'on ne me parle pas de rapidité d'exécution d'un code
"obscurantiste", ce n'est que très rarement pertinent.

Dans notre cas, un fichier setDATEvars.pl qui serait dans le PATH

#!/usr/bin/env perl
open DATEHELP, "date --help |";
while(my $line = <HELP>) {
    my ($opt) = ($line =~ /^\s+%([^ %]{1,4})\s/);
    next if !defined($opt);
    my $vname = $opt;
    $vname =~ s/:/_/g;
    print "DATE_$vname=\`date +%$opt\`;";
}
close DATEHELP;

Usage: eval `setDATEvars.pl`

Et on peut tout mettre sur une ligne dans un "alias" si on veut tout
concentrer dans le .bashrc

-- 
Yves Martin




More information about the gull mailing list