[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
A voir également:

10 réponses

lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Salut,

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

2
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

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

Jette un oeil à ce thread.
1
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
asevere Messages postés 13521 Statut Webmaster 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
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
export PATH=$PATH:/usr/xpg4/bin
--
lami20j
0
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
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
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
asevere Messages postés 13521 Statut Webmaster 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
asevere Messages postés 13521 Statut Webmaster 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
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Que te renvoie la commande :
type -a more
0
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
jipicy Messages postés 41342 Statut Modérateur 4 896
 
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
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