[Unix] Mettre une commande en Alias

Résolu/Fermé
Trezeg Messages postés 73 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 24 novembre 2010 - 22 mai 2007 à 15:27
Trezeg Messages postés 73 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 24 novembre 2010 - 23 mai 2007 à 13:48
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

10 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
22 mai 2007 à 16:28
Salut,

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

2
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
22 mai 2007 à 15:40
Salut,

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

Jette un oeil à ce thread.
1
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
22 mai 2007 à 15:43
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 73 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 24 novembre 2010 2
22 mai 2007 à 15:56
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 73 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 24 novembre 2010 2
22 mai 2007 à 16:45
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 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426
22 mai 2007 à 17:07
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 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
22 mai 2007 à 17:04
export PATH=$PATH:/usr/xpg4/bin
--
lami20j
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
22 mai 2007 à 17:19
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 73 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 24 novembre 2010 2
22 mai 2007 à 17:19
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 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426
22 mai 2007 à 19:52
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 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426
22 mai 2007 à 20:09
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
22 mai 2007 à 23:24
Que te renvoie la commande :
type -a more
0
Trezeg Messages postés 73 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 24 novembre 2010 2
23 mai 2007 à 10:36
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
23 mai 2007 à 11:01
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 73 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 24 novembre 2010 2
23 mai 2007 à 13:48
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