web-dev-qa-db-fra.com

Création d'alias exécutables permanents

J'ai installé MySQL (MAMP, Mac OS X) mais je dois l'appeler par le chemin complet chaque fois que j'y accède depuis le Shell. J'ai créé un alias: alias mysql='/Applications/MAMP/Library/Bin/mysql, mais cela ne dure que aussi longtemps que ma session de terminal/Bash.

Quel est un moyen efficace d'établir des alias permanents qui fonctionneront entre les utilisateurs? (J'ai besoin de pouvoir exécuter des commandes depuis PHP). Dois-je configurer des alias dans le script de démarrage de Bash (comment cela se fait-il?), Ou est-il préférable de modifier le fichier sudoers? (Pourrait également utiliser un exemple de cela ..)

Merci--

EDIT- Basé sur la réponse:

Je viens d'essayer de créer un ~/.bashrc et a écrit ce qui suit:

alias mysql = '/ Applications/MAMP/Library/bin/mysql'

Mais cela ne semble pas avoir d'effet. Existe-t-il une syntaxe spéciale pour ce fichier?

20
Yarin

Ajoutez la commande à votre ~/.bashrc fichier.

Pour le rendre disponible à tous les utilisateurs, ajoutez-le à /etc/profile.

47
Dennis Williamson
  • Différents Shell utilise différents fichiers de points pour stocker les alias.
  • Pour mac, le shell bash utilise .bash_profile ou .profile
  • Pour ubuntu, le shell bash utilise.bashrc
  • Si vous utilisez zsh Shell et le plugin ohmyzsh, le fichier dot est .zshrc

Traditionnellement, pour ajouter un alias permanent, vous devez ouvrir le fichier dot et écrire l'alias manuellement comme:

alias hello="echo helloworld"

Et n'oubliez pas de source le fichier dot pour qu'il prenne effet. Pour source le fichier dot sur bash d'ubuntu, tapez source .bashrc Pour rendre l'alias accessible à tous les utilisateurs, écrivez à /etc/profile au lieu du fichier dot. N'oubliez pas de taper source /etc/profile pour que le nouvel alias prenne effet.

Si vous voulez simplement un alias temporaire, vous n'avez pas besoin d'écrire dans un fichier à points. Tapez simplement cette même commande (alias hello="echo helloworld) sur le terminal.

Notez qu'un alias temporaire créé via la commande alias disparaîtra une fois le shell fermé.


Si vous recherchez une seule commande pour générer des alias sans ouvrir l'éditeur de texte, lisez la suite.

Si vous avez Ruby installé sur ubuntu, vous pouvez créer un alias permanent avec une seule commande en utilisant aka.

gem install aka2

Par exemple:

aka generate hello="echo helloworld" #will generate a alias hello="echo helloworld" 
aka destroy hello #will destroy the alias hello
aka edit hello #will Prompt you to edit the alias.

Avec aka, il n'est pas nécessaire d'écrire dans le fichier dot avec un éditeur de texte. Et pas besoin de source le fichier dot aussi.

6
ytbryan

Vous vous y trompez.

Soit ajoutez /Applications/MAMP/Library/bin/ dans votre chemin, ou créez un script pour appeler MySQL et placez-le dans un répertoire bin qui est déjà dans votre chemin.

4
meagar

Sur un Mac, le .bashrc le fichier ne provient pas à moins que vous ne le mettiez

source ~/.bashrc dans le /etc/profile ou /etc/bashrc.

Je pensais juste que je mentionnerais cela.

0
user3347613