# alias dans le terminal



## heroe (2 Avril 2006)

bonjour,
j'aimerai savoir comment il est possible de créer un alias
dans le terminal.
pour me connecter a mysql je dois taper "/usr/local/mysql/bin/mysql" dans
mon terminal et je sais qu'il est certainement possible de creer un alias
pour que quand j'ouvre celui-ci, je puisse me connecter en tapant seulement
'mysql'

merci d'avance pour votre aide

heroe


----------



## GrandGibus (2 Avril 2006)

alias mysql=/usr/local/mysql/bin/mysql

si tu veux en disposer à chaque fois sans avoir à le retaper, il suffit de mettre la ligne dans ton .profile

et pour tous les détails à propos de _alias_, il y a... _man alias_


----------



## heroe (2 Avril 2006)

je viens de le faire avec textedit (durant l'enregistrement) textedit m'a dit:'le fichier est en lecture seul, voulez vous enregistrer et ecraser' ce que j'ai fait.
quand j'ouvre un nouveau terminal, voila ce qu'il me dit:
-bash: alias: mysql: not found
-bash: alias: /usr/local/mysql/bin/mysql: not found

peut dois je changer les droits mais je ne sais pas quel chmod faire.


----------



## GrandGibus (2 Avril 2006)

J'ai posté un peu trop vite tout à l'heure ... désolé.

Voici l'alias que j'ai dans mon .profile: 


> alias mysql="su; /usr/local/mysql/bin/mysqld --user=mysql &"



ça devrait suffir


----------



## heroe (2 Avril 2006)

j'ai mis ça parce qu'il aimait pas l'esperluette...
alias mysql="su; /usr/local/mysql/bin/mysql --user=mysql"

enfin bon ça marche!!!
merci beaucoup!


----------



## GrandGibus (2 Avril 2006)

Le '&' final sert à indiquer au shell que la commande sera lancée en _arrière-plan_... Ainsi, on récupère _la main_ de suite après avoir lancé la commande, et il n'est pas utile d'ouvrir une autre fenêtre de Terminal pour lancer une autre commande...

Mais je me rends compte que je ne me sers jamais de cet alias   ...


----------



## heroe (2 Avril 2006)

GrandGibus a dit:
			
		

> Le '&' final sert à indiquer au shell que la commande sera lancée en _arrière-plan_... Ainsi, on récupère _la main_ de suite après avoir lancé la commande, et il n'est pas utile d'ouvrir une autre fenêtre de Terminal pour lancer une autre commande...



mouais mais pour mysql je vois pas trop l'interet de le faire tourner en bg parce que
ce qui m'interesse c'est de taper des requetes mysql dans mysql et donc d'etre dans l'environement,
c'est pas comme si une fenêtre ou une application graphique s'exécutait...
de toute façon chez moi ça marche pas avec le '&'... alors...


----------



## FjRond (3 Avril 2006)

Une autre possibilité: au lieu de créer un alias, modifier la variable path (dans .profile pour bash) :

```
PATH=$PATH:/usr/local/mysql/bin/
export $PATH
```


----------



## bompi (3 Avril 2006)

Cela me semble la solution la plus appropriée.
Les aliases, c'est bien mais rien ne sert d'en abuser.


----------



## FjRond (3 Avril 2006)

bompi a dit:
			
		

> Les aliases, c'est bien mais rien ne sert d'en abuser.


C'est aussi mon opinion. C'est pour cela que j'ai proposé cette solution.


----------



## heroe (8 Avril 2006)

FjRond a dit:
			
		

> Une autre possibilité: au lieu de créer un alias, modifier la variable path (dans .profile pour bash) :
> 
> ```
> PATH=$PATH:/usr/local/mysql/bin/
> ...



ok, ok... je veux bien que l'on m'explique... il est ou ce .profile pour bash???


----------



## FjRond (9 Avril 2006)

heroe a dit:
			
		

> ok, ok... je veux bien que l'on m'explique... il est ou ce .profile pour bash???


Il se trouve dans votre répertoire utilisateur (maison).
Ouvrir un Terminal, saisir la commande:

```
$ pico .profile
```
Le fichier .profile s'ouvre (il peut être vide), et là saisissez les deux lignes :

```
PATH=/usr/local/mysql/bin/:$PATH
export $PATH
```
puis taper Ctrl-X Y. Voilà, c'est enregistré. Ouvrez une nouvelle fenêtre de Terminal et tapez mysql.
Pour vérifier que votre nouveau PATH est pris en compte, tapez la commande :

```
$ echo $PATH
```
Pour information, le fichier ~/.profile est le fichier de configuration personnel de votre shell bash. Chaque programme shell a son fichier de configuration propre et la syntaxe peut changer. Par exemple, pour zsh, la syntaxe est la même, mais pour tcsh, c'est différent.


----------



## heroe (9 Avril 2006)

ça marche mais des que j'ouvre un nouveau terminal j'ai ça:


> -bash: export: `/usr/local/mysql/bin/:/bin:/sbin:/usr/bin:/usr/sbin': not a valid identifier


----------



## FjRond (10 Avril 2006)

heroe a dit:
			
		

> ça marche mais des que j'ouvre un nouveau terminal j'ai ça:


Remplacez dans votre path

```
/usr/local/mysql/bin/
```
par

```
/usr/local/mysql/bin
```
c'est-à-dire enlevez le slash qui est en trop (_mea culpa_), et tout devrait rentrer dans l'ordre.


----------



## heroe (10 Avril 2006)

décidement...
j'en suis au même point
j'ai donc tapé ça dans mon fichier .profile


> PATH=/usr/local/mysql/bin:$PATH
> export $PATH



et quand j'ouvre un nouveau terminal j'ai maintenant ça


> -bash: export: `/usr/local/mysql/bin:/bin:/sbin:/usr/bin:/usr/sbin': not a valid identifier



sachant que quand je tape mysql ça marche quand même...


----------



## GrandGibus (10 Avril 2006)

euh... c'est pas plutôt

```
export PATH
```


au lieu de export $PATH :hein: ?


----------



## pupa (10 Avril 2006)

salut,
ou sinon encore plus simple, le tout sur une ligne :

export PATH=/usr/local/mysql/bin:/bin:/sbin:/usr/bin:/usr/sbin:$PATH


----------



## heroe (11 Avril 2006)

GrandGibus a dit:
			
		

> euh... c'est pas plutôt
> 
> ```
> export PATH
> ...


effectivement c'était 





> export PATH



ça marche aussi avec ça


> export PATH=/usr/local/mysql/bin:/bin:/sbin:/usr/bin:/usr/sbin:$PATH



merci à tout le monde!!

et sinon petite question pour finir de vous embeter...
Pourquoi c'est pas bien d'abuser sur les alias???


----------



## FjRond (11 Avril 2006)

heroe a dit:
			
		

> effectivement c'était
> 
> ça marche aussi avec ça
> 
> ...


Moi j'ai « export $PATH », et ça fonctionne très bien.



			
				heroe a dit:
			
		

> et sinon petite question pour finir de vous embeter...
> Pourquoi c'est pas bien d'abuser sur les alias???


Parce qu'il faut s'en souvenir, que ça alourdit inutilement le fichier de configuration personnel, et donc la mémoire (celle de l'ordi et la mienne). Disons que lorsqu'il suffit de modifier le PATH, c'est une solution plus économique. D'autre part, il faut être sûr que le nom donné à l'alias n'est pas déjà utilisé par une commande ou un script (donc vérifier avec which). Mais je ne pense pas que ça crée des dysfonctionnements.


----------

