[Unix] Mettre une commande en Alias

Résolu
Bonjour,
J'essaie de faire pointer ma commande more vers le fichier /usr/xpg4/bin/moremais ce ne fonctionne pas... :-// J'ai pourtant créé l'alias qui va bien et modifié le .bashrc en conséquence :
bash-2.05$ alias more='/usr/xpg4/bin/more'
bash-2.05$ alias
alias more='/usr/xpg4/bin/more'
bash-2.05$
bash-2.05$ more .bashrc
alias more='/usr/xpg4/bin/more'
bash-2.05$
Cela dit, rien n'y fait car la commande whereis m'indique ceci:
bash-2.05$ whereis more
more: /usr/bin/more /usr/lib/more.help /usr/ucb/more
bash-2.05$
Auriez-vous une idée sur la question ?

D'avance merci.

Trez
Configuration: SunOS 5.8

10 réponses

  1. Modérateur
    Salut,

    il faut ajouter le chemin de ta commande more dans le path la voir avec whereis

    1. Modérateur
      Salut,

      Source ton fichier ".bashrc" :
      source ~/.bashrc
      et relance ta commande "whereis".

      Jette un oeil à ce thread.
      1. Modérateur
        Salut,

        J'essaie de faire pointer ma commande more

        Ce n'est pas une commande. C'est juste un alias pour la vrai commande.

        Je pense que tu n'as pas compris le rôle de PATH ni se qu'affiche la commande whereis
        bash la variable d environnement path
        guide d utilisation du shell pour debutant#xiii ou se trouvent les commandes
        1. Salut jipicy,

          j'ai effectivement sourcé le .bashrcen vain... J'ai également ajouté le chemin /usr/xpg4/bin/ à la suite de mon PATH mais rien n'y fait...

          Trez
          1. Salut,

            J'ai ajouté le nom du répertoire de la commande morevoulue dans mon path:
            bash-2.05$ PATH=$PATH:/usr/xpg4/bin
            Malgré cela, ce répertoire n'apparait pas quand on fait un whereis more...

            Trez
            1. Webmaster
              DESCRIPTION
                     whereis locates source/binary and manuals sections for specified files.
                     The  supplied  names  are first stripped of leading pathname components
                     and any (single) trailing extension of the form .ext, for example,  .c.
                     Prefixes  of  s.   resulting  from  use of source code control are also
                     dealt with.  whereis then attempts to locate the desired program  in  a
                     list of standard Linux places.
                         /bin
                         /usr/bin
                         /etc
                         /usr/etc
                         /sbin
                         /usr/sbin
                         /usr/games
                         /usr/games/bin
                         /usr/emacs/etc
                         /usr/lib/emacs/19.22/etc
                         /usr/lib/emacs/19.23/etc
                         /usr/lib/emacs/19.24/etc
                         /usr/lib/emacs/19.25/etc
                         /usr/lib/emacs/19.26/etc
                         /usr/lib/emacs/19.27/etc
                         /usr/lib/emacs/19.28/etc
                         /usr/lib/emacs/19.29/etc
                         /usr/lib/emacs/19.30/etc
                         /usr/TeX/bin
                         /usr/tex/bin
                         /usr/interviews/bin/LINUX
                         /usr/bin/X11
                         /usr/X11/bin
                         /usr/X11R5/bin
                         /usr/X11R6/bin
                         /usr/X386/bin
                         /usr/local/bin
                         /usr/local/etc
                         /usr/local/sbin
                         /usr/local/games
                         /usr/local/games/bin
                         /usr/local/emacs/etc
                         /usr/local/TeX/bin
                         /usr/local/tex/bin
                         /usr/local/bin/X11
                         /usr/contrib
                         /usr/hosts
                         /usr/include
                         /usr/g++-include
              
              A prioris si un fichier se trouve dans le path, mais pas dans ces dossiers là, il n'apparaitra jamais dans le resultat de la commande <gras<whereis</gras>
          2. Hello,

            J'ai également fait l'export... J'ai certainement mal expliqué mon problème.
            En gros, je voudrais que ma commande more appelle le /usr/xpg4/bin/more plutot que le /usr/bin/more qui est initialement appelé...

            Trez
            1. Webmaster
              bash-2.05$ alias more='/usr/xpg4/bin/more'
              bash-2.05$ alias
              alias more='/usr/xpg4/bin/more'
              bash-2.05$
              bash-2.05$ more .bashrc
              alias more='/usr/xpg4/bin/more'
              bash-2.05$
              Et qu'est-ce qui ne va pas alors ? Là ça semble fonctionner non ?
            2. Webmaster
              Enfin dans ce cas précis, tu n'as pas forcement besoin d'un alias d'ailleurs.
              Si /usr/xpg4/bin est trouvé avant /usr/bin dans le PATH, il sera appelé.
              PBG4:~ adrien$ echo $PATH
              /opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:
              /bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:
              /Users/adrien/bin:/Volumes/Data/Softs/Others/Apache/Ant/bin 
              PBG4:~ adrien$ alias 
              alias celeron='ssh 192.168.8.2'
              alias gvi='/Volumes/Data/Softs/Others/Vim/gvim'
              alias ll='ls -l -G'
              alias ls='ls -G'
              alias mplayer='/Volumes/Data/Softs/Others/Mplayer/MPlayer\ OSX.app/Contents/MacOS/MPlayer\ OSX'
              alias vtvim='TERM=pcansi /sw/bin/vim'
              PBG4:~ adrien$ which more
              /usr/bin/more
              PBG4:~ adrien$ more bin4more/more 
              #!/bin/bash
              echo "mon more"
              cat $@
              PBG4:~ adrien$ export PATH=/Users/adrien/bin4more:$PATH
              PBG4:~ adrien$ echo $PATH 
              /Users/adrien/bin4more:/opt/local/bin:
              /opt/local/sbin:/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:
              /usr/sbin:/usr/X11R6/bin:/Users/adrien/bin:
              /Volumes/Data/Softs/Others/Apache/Ant/bin
              PBG4:~ adrien$ which more
              /Users/adrien/bin4more/more
              PBG4:~ adrien$ more bin4more/more 
              mon more
              #!/bin/bash
              echo "mon more"
              cat $@


              @+
          3. Modérateur
            Que te renvoie la commande :
            type -a more
            1. salut,

              bash-2.05$ type -a more
              more is aliased to `/usr/xpg4/bin/more'
              more is /bin/more
              more is /usr/bin/more
              more is /usr/ucb/more
              more is /usr/bin/more
              more is /bin/more
              more is /usr/ucb/more
              bash-2.05$

              Trez
          4. Modérateur
            Ben apparemment c'est bon : "more is aliased to `/usr/xpg4/bin/more'".

            Normalement il devrait être pris en compte avant ceux se trouvant dans le $PATH.

            Quelle(s) différence(s) a cette version par rapport à la version "/bin/more" ?
            1. Eh bien le répertoire /usr/xpg4/bin/ contient les versions opengl des commandes Unix et elles sont "bien plus efficaces et mieux développées que celles de Sun" dixit un collègue qui aimerait implémenter ces commandes.

              En tout cas merci à tous pour votre aide précieuse.

              Amclt,

              Trez