• # Solution adoptée

    Posté par . En réponse au message readme automatique lors d'un ls. Évalué à 2.

    J'ai essayer toutes vos solutions, l'idée était de rendre transparente cette fonctionnalité, avec la solution de niol j'ai un problème lorsque je passe des arguments a ls, avec celle de B. franck c'est en effet pas tout a fait ça, et avec celle de D B je dois changer mes habitude et utiliser "truc" lorsque je veux lister un répertoire, j'ai donc écrit un petit code perl qui joue l'intermédiaire :


    #!/usr/bin/perl

    use Getopt::Long;

    my $readme = ".README" ;

    my $a = '' ;
    my $l = '' ;
    my $color = '' ;

    unshift @ARGV, $ENV{LS_OPTIONS} ;

    GetOptions ( 'a' => \$a, 'l' => \$l, 'color=s' => \$color ) ;

    $args .= "-a " if $a ;
    $args .= "-l " if $l ;
    $args .= "--color=$color " if $color ;

    push @ARGV, "." unless @ARGV ; # pour qu'un ls sans arguments fonctionne aussi
    system "/bin/cat @ARGV/$readme" if ( ! -l "@ARGV" && -e "@ARGV/$readme" ) ;
    exec "/bin/ls $args @ARGV" ;

    en enregistrant ce script dans /bin/lsreadme et en modifiant le .bashrc comme suit :

    eval "`dircolors`"
    export LS_OPTIONS='--color=auto'
    export LS='/bin/lsreadme'
    alias ls='$LS $LS_OPTIONS'
    alias ll='$LS $LS_OPTIONS -l'

    je n'ai repris que les arguments que j'utilise couramment, le script respecte les options fournies par la variable LS_OPTIONS, ce qui permet a l'occasion de lancer directement /bin/ls en utilisant aussi les options de LS_OPTIONS, il réagit assez bien, son utilisation semble réellement transparente pour l'utilisateur, il y a probablement moyen de faire mieux pour les arguments.

    Je vais pouvoir documenter mes répertoires de script pour que dans 3 ans lorsque j'aurais oublier ce bidouillage j'utiliserais bêtement un "ls" je me souviendais de votre aide fraternel et je retrouverais aisément ce que je cherche...

    twin2:~# ll /conf/twin2/scripts/mysql
    --------------------------------------------------
    -> update.pl
    Met a jour les fichiers openDB.txt avec
    les informations des fichiers config2.xml.

    total 4
    -rwxr-xr-x 1 root root 1540 2006年03月03日 09:16 update.pl
    twin2:~#