[Unix] Mettre une commande en Alias

Résolu
Trezeg Messages postés 81 Statut Membre -  
Trezeg Messages postés 81 Statut Membre -
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. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

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

    2
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

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

    Jette un oeil à ce thread.
    1
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
    0
  4. Trezeg Messages postés 81 Statut Membre 2
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Trezeg Messages postés 81 Statut Membre 2
     
    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
    0
    1. asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
       
      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>
      0
  7. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    export PATH=$PATH:/usr/xpg4/bin
    --
    lami20j
    0
  8. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Dans le lien que je t'ai donné unix mettre une commande en alias#2

    tu pouvais déjà voir que pour ton cas il faut utiliser la commande which

    asevere à raison
    0
  9. Trezeg Messages postés 81 Statut Membre 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
    0
    1. asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
       
      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 ?
      0
    2. asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
       
      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 $@


      @+
      0
  10. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Que te renvoie la commande :
    type -a more
    0
    1. Trezeg Messages postés 81 Statut Membre 2
       
      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
      0
  11. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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" ?
    0
    1. Trezeg Messages postés 81 Statut Membre 2
       
      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
      0