OVH Cloud OVH Cloud

[help] alias

18 réponses
Avatar
Gilles
Bonjour,

J'essaie de créer des alias dans le Terminal pour ne pas avoir à
taper le chemin complet (c'est bien à çà que ça sert ?) avec la
commande "ln" mais je n'y arrive pas.

Je veux éviter de taper /usr/local/bin convert ou ...vim par
exemple.

Pouvez-vous m'éclairer ?

Merci
---
Gilles
Oter le ot pour m'écrire

8 réponses

1 2
Avatar
Schmurtz
Moi, je connais pas trop mal, mais je ne comprends pas ce qui a voulu
dire. $HOME (qui contient /Users/ton_login/) n'a pas à être dans le PATH
car le PATH n'a à contenir que les dossiers contenant des commandes du
terminal.


Si tu fais:

cd $HOME
ln -s /usr/local/bin trucmuche

Tu auras beau taper trucmuche/application ca ne marcheras que si $HOME est
dans le path ou que tu es dans $HOME et que "." est dans le path.


Faux, je viens d'essayer et ça marche très bien. Pour lancer une
commande, soit tu tapes uniquement son nom et dans ce cas il faut que le
chemin d'accès à la commande soit dans le path. Soit tu tapes le chemin
d'accès (relatif ou absolu) de la commande avec la convention qu'il doit
y avoir au moins un slash (d'ou l'obligation de faire ./commande si la
commande et dans le dossier courant).

--
Schmurtz


Avatar
Gilles
Gilles wrote:

Schmurtz wrote:

Le setenv a bien marché
Quetion bête : pourquoi ImageMagick est-il allé s'installer là où le


En fait, /bin contient les commandes indispensables.
/usr/bin contient les commandes livrées avec le système.
/usr/local/bin contient tout ce que tu veux rajouter.



OK


Sous 10.1 je tapais directement "identify" ou "convert", il y a
vraiment quelque chose qui m'échappe.


Parce que l'installation s'effectuait dans /usr/bin, ou alors à
l'époque /usr/local/bin était dans le PATH.



OK


Sinon, pour revenir a ta question d'origine, qu'as tu tape
exactement et ou
te trouvais-tu au moment de taper ta commande?



/usr/local/bin identify /users/mon_login/pictures/image.gif (je me
trouvais dans, heu... là : [nom_du_mac :~] mon_login%)




/usr/local/bin/identify plutôt, non ?



Non, justement, c'est ça qui me perturbe, une fois un espace, une fois
non !
"identify" est un executable (on dit fichier sous unix, non ?)

Je veux donc lancer "identify" qui se trouve dans /usr/local/bin
Je faisais donc /usr/local/bin ESPACE identify /users/mon_login/pictures
ESPACE(?) mon_image.truc et ça me lasse de taper tout çà

C'est pas bon ?


Correction : identify /users/mon_login/pictures/mon_image.truc
Je t'ai envoyé un copier/coller sur ton mail perso d'une
commande qui a marché.

Pour le /identify, je n'arrive plus à vérifier car je ne sais
pas annuler le setenv (pfff...)

T'inquiète pas, tu ne perds pas ton temps, je note TOUT dans un
fichier Texedit.

Tu es patient et pédagogue, merci




Avatar
Saïd
Schmurtz :
Moi, je connais pas trop mal, mais je ne comprends pas ce qui a voulu
dire. $HOME (qui contient /Users/ton_login/) n'a pas à être dans le PATH
car le PATH n'a à contenir que les dossiers contenant des commandes du
terminal.


Si tu fais:

cd $HOME
ln -s /usr/local/bin trucmuche

Tu auras beau taper trucmuche/application ca ne marcheras que si $HOME est
dans le path ou que tu es dans $HOME et que "." est dans le path.


Faux, je viens d'essayer et ça marche très bien. Pour lancer une
commande, soit tu tapes uniquement son nom et dans ce cas il faut que le
chemin d'accès à la commande soit dans le path. Soit tu tapes le chemin
d'accès (relatif ou absolu) de la commande avec la convention qu'il doit
y avoir au moins un slash (d'ou l'obligation de faire ./commande si la
commande et dans le dossier courant).



T'as raison. Je viens d'essayer. Comme quoi on en apprend tous les jours.

--
Saïd.



Avatar
Gilles
Pierre wrote:
je suis d'accord avec la modification du PATH mais pour répondre
directement à ta question:

ln -s /usr/local/bin locbin
après tu n'as plus qu'à taper locbin ou créer un autre alias si tu
n'aimes pas locbin ;-p


locbin/identify fonctionne, merci
comment annuler cette commande ?

Avatar
Gilles
Saïd wrote:

Schmurtz :

Faux, je viens d'essayer et ça marche très bien. Pour lancer une
commande, soit tu tapes uniquement son nom et dans ce cas il faut que le
chemin d'accès à la commande soit dans le path. Soit tu tapes le chemin
d'accès (relatif ou absolu) de la commande avec la convention qu'il doit
y avoir au moins un slash (d'ou l'obligation de faire ./commande si la
commande et dans le dossier courant).




T'as raison. Je viens d'essayer. Comme quoi on en apprend tous les jours.

Je résume (si vous le permettez !)


1 - avant il me fallait faire : /usr/local/bin/identify
/users/mon_login/pictures/la_belle_photo.truc
2 - avec la commande setenv, ça nous donne : identify
/users/mon_login/pictures/la_belle_photo.truc
3 - avec l'alias de Pierre : locbin/identify
/users/mon_login/pictures/la_belle_photo.truc

Vous dites voui ?

(Va falloir aller se coucher :)

--
Gilles
Oter le ot pour m'écrire


Avatar
Schmurtz
Je résume (si vous le permettez !)

1 - avant il me fallait faire : /usr/local/bin/identify
/users/mon_login/pictures/la_belle_photo.truc
2 - avec la commande setenv, ça nous donne : identify
/users/mon_login/pictures/la_belle_photo.truc
3 - avec l'alias de Pierre : locbin/identify
/users/mon_login/pictures/la_belle_photo.truc

Vous dites voui ?


Vvvvvvvvouiiiiiiiiiii exxxxxactemennnnnnnt

Perso je préfère le 2.

(Va falloir aller se coucher :)


Ouai, y va falloir y penser.

--
Schmurtz

Avatar
pierre.ducrot
Gilles wrote:

Pierre wrote:
je suis d'accord avec la modification du PATH mais pour répondre
directement à ta question:

ln -s /usr/local/bin locbin
après tu n'as plus qu'à taper locbin ou créer un autre alias si tu
n'aimes pas locbin ;-p


locbin/identify fonctionne, merci
comment annuler cette commande ?


que veux-tu dire par là ? ln -s crée un alias, sorte de fichier dans
le dossier courant, donc pour le supprimer tu fais
rm locbin

Si ta question est "comment stopper identify que je viens de lancer
pour faire un essai ?" un ctrl-c devrait fonctionner, sinon retour plus
haut dans l'enfilade pour faire un kill.

précision ctrl c'est la touche control ;-)


--
Pierre


Avatar
Gilles
Schmurtz wrote:

/usr/local/bin/identify plutôt, non ?


Non, justement, c'est ça qui me perturbe, une fois un espace,
une fois non !



Je te garanti que c'est bien /usr/local/bin/identify qu'il faut taper


Oui, je fatiguais


"identify" est un executable (on dit fichier sous unix, non ?)

Je veux donc lancer "identify" qui se trouve dans /usr/local/bin
Je faisais donc /usr/local/bin ESPACE identify
/users/mon_login/pictures ESPACE (?) mon_image.truc et ça me
lasse de taper tout çàq;



non, pas d'espace, un slash


Oui, je fatiguais (again)

Les espaces servent à séparer les différents arguments passée à la
commande :

/usr/local/bin/indentify /le/chemin/image.gif /le/chemin/dessin.jpg



où plus simple :

cd /le/chemin # modifie le chemin d'accès par défaut
identify image.gif dessin.jpg # applique identify aux deux fichiers



OK, et on met un slash devant chaque chemin pour partir de la
racine (ça rentre)



1 2