web-dev-qa-db-esp.com

Crear alias ejecutables permanentes

Tengo instalado MySQL (MAMP, Mac OS X) pero necesito llamarlo por la ruta completa cada vez que accedo desde Shell. Creé un alias: alias mysql='/Applications/MAMP/Library/Bin/mysql, pero esto solo dura tanto como mi sesión de terminal/Bash.

¿Cuál es una forma efectiva de establecer alias permanentes que funcionarán en todos los usuarios? (Necesito poder ejecutar comandos desde PHP). ¿Debo configurar alias en el script de inicio de Bash (¿cómo se hace eso?), O es mejor editar el archivo sudoers? (Podría usar un ejemplo de eso también ...)

Gracias--

EDITAR- Basado en la respuesta:

Intenté crear un ~/.bashrc y escribió lo siguiente:

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

Pero esto no parece tener ningún efecto. ¿Hay una sintaxis especial para este archivo?

18
Yarin

Agregue el comando a su ~/.bashrc archivo.

Para que esté disponible para todos los usuarios, agréguelo a /etc/profile.

47
Dennis Williamson
  • Shell diferente utiliza un archivo de puntos diferente para almacenar alias.
  • Para mac, bash Shell usa .bash_profile o .profile
  • Para ubuntu, bash Shell usa.bashrc
  • Si está utilizando zsh Shell y el complemento ohmyzsh, el archivo de puntos es .zshrc

Tradicionalmente, para agregar un alias permanente, debe abrir el archivo de puntos y escribir el alias manualmente como:

alias hello="echo helloworld"

Y recuerde obtener el archivo de puntos para que surta efecto. Para obtener el archivo de puntos en bash de ubuntu, escriba source .bashrc Para que el alias esté disponible para todos los usuarios, escriba a /etc/profile en lugar del archivo de puntos. Recuerde escribir source /etc/profile para que el nuevo alias surta efecto.

Si simplemente desea un alias temporal, no necesita escribir en un archivo de puntos. Simplemente escriba el mismo comando (alias hello="echo helloworld) en el terminal.

Tenga en cuenta que un alias temporal creado a través del comando alias desaparecerá una vez que se cierre el Shell.


Si está buscando un solo comando para generar alias sin abrir el editor de texto, siga leyendo.

Si tiene Ruby instalado en ubuntu, puede crear un alias permanente con un solo comando usando aka.

gem install aka2

Por ejemplo:

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.

Con aka, no hay necesidad de escribir en el archivo de puntos con un editor de texto. Y tampoco hay necesidad de obtener el archivo de puntos.

6
ytbryan

Vas por esto de la manera incorrecta.

Agrega /Applications/MAMP/Library/bin/ a su ruta, o cree un script para invocar MySQL y colocarlo en un directorio bin que ya está en su ruta.

4
meagar

En una Mac, el .bashrc el archivo no se obtiene a menos que coloque

source ~/.bashrc en el /etc/profile o /etc/bashrc.

Solo pensé en mencionar eso.

0
user3347613