¿Cómo creo un alias Bash?

189

Estoy en OSX y necesito poner algo como esto, alias blah="/usr/bin/blah"en un archivo de configuración, pero no sé dónde está el archivo de configuración.

lujoso
fuente
Tangencialmente, este alias en particular es básicamente redundante a menos que esté intentando anular específicamente la PATHresolución del shell para este comando específico. Si /usr/binestá en su PATH(que realmente debe estar), blahse ejecutará a partir de ahí sin este alias, a menos que también haya dicho /usr/local/bin/blahy /usr/local/binesté antes /usr/binen su PATH pero todavía desea preferir /usr/bin/blahy no puede, por alguna razón, simplemente eliminar o cambiar el nombre /usr/local/bin/blah.
tripleee
Incluso entonces, esta es una solución dudosa y agresiva que debería venir con un gran comentario feo y gordo con un mensaje de advertencia que le dirá cómo esto morderá su bajo abdomen bien formado, y otro que dirá "Te lo dije" por cada vez que esto sucedió.
tripleee
1
Para todos los amantes de la automatización: personalmente agrego addAlias() { echo "alias $1='$2' " >> ~/.bash_profile a mi bash_profile y luego lo obtengo y ejecuto addAlias hi 'echo "hi" '. Fuente bash perfil y escriba hipara verlo.
devssh

Respuestas:

268

Puede agregar una aliaso una functionen su archivo de script de inicio. Por lo general, esto es .bashrc, .bash_logino .profilearchivo en su directorio de inicio.

Como estos archivos están ocultos, tendrá que hacer un ls -apara enumerarlos. Si no tiene uno, puede crear uno.


Si no recuerdo mal, cuando compré mi Mac, el .bash_loginarchivo no estaba allí. Tuve que crear por mí mismo para que pudiera poner prompt info, alias, functions, etc en el mismo.

Estos son los pasos si desea crear uno:

  1. Terminal de arranque
  2. Escriba cd ~/para ir a su carpeta de inicio
  3. Escriba touch .bash_profilepara crear su nuevo archivo.
  4. Edite .bash_profilecon su editor favorito (o simplemente puede escribir open -e .bash_profilepara abrirlo en TextEdit.
  5. Escriba . .bash_profilepara recargar .bash_profiley actualizar cualquier alias que agregue.
jaypal singh
fuente
8
Impresionante, gracias @jaypal! ¿Es el comando source .bash_profileuna alternativa al paso 5?
Ian Campbell
10
Sí, en mi OSX Mavericks no había .bash_profileen mi directorio de inicio. Crearlo, agregarle el alias y luego iniciarlo con el . .bash_profilecomando funcionó.
Bradley Flood
1
¡.bash_profile funciona para mí! :) .bashrc no lo hizo en El Capitan
Parth
55
En OSX El Capitan .bash_profilefunciona. Si no se carga automáticamente cuando abre una ventana de terminal, probablemente sea porque se creó sin permiso ejecutable. Este comando lo arreglará y debería cargarse automáticamente para futuras sesiones:chmod u+x .bash_profile
Mischinab
1
.bash_profile perfil está bloqueado ¿Cómo puedo actualizar este archivo
Amit Gupta
31

Acabo de abrir zshrc con sublime y lo edito.

subl .zshrc

Y agregue esto en sublime:

alias blah="/usr/bin/blah"

Ejecuta esto en la terminal:

source ~/.bashrc

Hecho.

Gui Yoshi
fuente
44
Esto es confuso Si su shell es Bash, muchas otras respuestas en esta página son más detalladas y útiles. Si usa Zsh en lugar de Bash, obviamente, source .zshrcal final, debería cargar los cambios que realizó en su instancia de shell actualmente en ejecución.
tripleee
18

En mi .bashrcarchivo, las siguientes líneas estaban allí por defecto:

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

Por lo tanto, en mi plataforma .bash_aliasesestá el archivo utilizado para los alias por defecto (y el que uso). No soy un usuario de OS X, pero supongo que si abre su .bashrcarchivo, podrá identificar cuál es el archivo que se usa comúnmente para los alias en su plataforma.

jcollado
fuente
Si el perfil no se carga automáticamente cuando abre una ventana de terminal, probablemente le falte el permiso ejecutable. Este comando lo arreglará y debería cargarse automáticamente para futuras sesiones:chmod u+x .bash_profile
Mischinab
1
@Mischinab No, el archivo solo necesita ser legible para que Bash pueda leerlo como su archivo de configuración. Hacerlo ejecutable es técnicamente inofensivo pero innecesario. Lo desaconsejaría por razones no técnicas (puede terminar confundiéndose a sí mismo y a los demás).
tripleee
9
cd /etc
sudo vi bashrc

Agregue lo siguiente como:

alias ll="ls -lrt"

Finalmente reinicie la Terminal.

usuario3613987
fuente
1
Después de agregar alias. Ejecute 'source' en su archivo '.bash_profile'. Ej: source ~ / .bash_profile (comando que activa / recarga los alias bash)
UIResponder
8

Funciona para mí en macOS Majave

Puedes hacer algunos pasos simples:

1) terminal abierto

2) sudo nano /.bash_profile

3) agrega tus alias, como ejemplo:

# some aliases
alias ll='ls -alF'
alias la='ls -A'
alias eb="sudo nano ~/.bash_profile && source ~/.bash_profile"
#docker aliases
alias d='docker'
alias dc='docker-compose'
alias dnax="docker rm $(docker ps -aq)"
#git aliases
alias g='git'
alias new="git checkout -b"
alias last="git log -2"
alias gg='git status'
alias lg="git log --pretty=format:'%h was %an, %ar, message: %s' --graph"
alias nah="git reset --hard && git clean -df"
alias squash="git rebase -i HEAD~2"

4) source /.bash_profile

Hecho. ¡Usa y disfruta!

ultimátum
fuente
7

El archivo de configuración para scripts y programas es ~/.bashrcy el archivo de configuración que se carga cuando usa Terminal es ~/.bash_login.

Creo que la mejor manera es tener todo dentro ~/.bashrc.

Para su pregunta específica simplemente ingrese (esto sobrescribirá cualquier ~ / .bashrc existente):

echo "alias blah=\"/usr/bin/blah\"" >>~/.bashrc

en la Terminal y se ~/.bashrccreará un archivo con tus nuevos alises. Después de eso solo edite el archivo para agregar nuevos alias, funciones, configuraciones, etc.

kmikael
fuente
55
¿No debería usar en >>lugar de >para que se anexe al archivo en lugar de reemplazar todo lo que contiene?
Jonny
6
  1. Ir a casa
  2. Abra .bashrc
  3. Crea un alias al final del archivo

    alias alias_name='command to do'
    eg: alias cdDesktop='cd /Desktop'
  4. Guarda el archivo

  5. fuente .bashrc

    source ~/.bashrc
  6. Abra la terminal (Ctrl + Alt + T) y escriba cdDesktop y presione enter

Pranav VR
fuente
5

MacOS Catalina y superior

Apple acaba de cambiar su shell predeterminado a zsh , por lo que los archivos de configuración incluyen ~/.zshenvy ~/.zshrc. Esto es igual ~/.bashrc, pero para zsh. Simplemente edite el archivo y agregue lo que necesita; debe obtenerse cada vez que abra una nueva ventana de terminal:

nano ~/.zshenv alias py=python

Luego haga ctrl + x, y, luego ingrese para guardar.

Este archivo parece ejecutarse sin importar qué (inicio de sesión, no inicio de sesión o script), por lo que parece mejor que el ~/.zshrcarchivo.

Sierra alta y anterior

El shell predeterminado es bash, y puede editar el archivo ~/.bash_profiley agregar alias:

nano ~/.bash_profile alias py=python

Luego ctrl + x, y, e ingrese para guardar. Vea esta publicación para más información sobre estas configuraciones. Es un poco mejor configurarlo con su alias ~/.bashrc, luego fuente ~/.bashrcde ~/.bash_profile. En ~/.bash_profileSería el siguiente aspecto:

source ~/.bashrc

palabras por el contrario
fuente
Esto debería ser más alto ahora que Catalina es el Mac OS más actualizado
Cauder
4

Si se pone blah="/usr/bin/blah"en su ~/.bashrcentonces usted puede utilizar $blahen su shell de entrada como un sustituto para la tipificación/usr/bin/blah

SiegeX
fuente
El signo de dólar no es enfáticamente necesario, útil o correcto aquí.
tripleee
3

Probablemente desee editar el .bashrcarchivo en su directorio de inicio.

ghoti
fuente
1

cree un bash_profile en su usuario root - ex

/user/username/.bash_profile

abrir documento

vim ~ / .bash_profile

agregar alias como ej. (guardar y Salir)

alias mydir="cd ~/Documents/dirname/anotherdir"

en la nueva terminal simplemente escriba mydir - debería abrirse

/user/username/Documents/dirname/anotherdir
Pravin
fuente
0

Creo que es la forma correcta:

1) Ir al teminal. open ~/.bashrc. Agregar si no existe

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

2) open ~/.bash_aliases. Si no existe:touch ~/.bash_aliases && open ~/.bash_aliases

3) Para agregar un nuevo alias
, edite el .bash_aliasesarchivo y reinicie el terminal o imprima source ~/.bash_aliases
, imprima echo "alias clr='clear'" >> ~/.bash_aliases && source ~/.bash_aliasesdónde está su alias alias clr='clear'.

4) Agregar línea source ~/.bash_aliasesal ~/.bash_profilearchivo. Necesita cargar alias en cada inicio de terminal.

Nik Kov
fuente
0

Para usuarios de macOS Catalina:

Paso 1: crea o actualiza el archivo .zshrc

vi ~/.zshrc

Paso 2: agrega tu línea de alias

alias blah="/usr/bin/blah"

Paso 3: Fuente .zshrc

source ~/.zshrc 

Paso 4: Verifique su alias, escribiendo alias en el símbolo del sistema

alias
Shirish Singh
fuente
0

Para crear un acceso directo de alias permanente, colóquelo en el archivo .bash_profile y apunte el archivo .bashrc al archivo .bash_profile. Siga estos pasos (estoy creando un comando de alias llamado bnode para ejecutar babel transpiler en el código ES6):

  1. Vaya a la línea de comandos del terminal y escriba "cd" (esto lo llevará al directorio de inicio. Nota: aunque sus archivos de programación pueden estar ubicados en su "unidad D:", sus archivos ".bash" pueden estar ubicados en su " C: conducir ")
  2. Para ver la ubicación del directorio de inicio, escriba "pwd" (esto le mostrará la ruta del directorio de inicio y la ubicación de los archivos .bash)
  3. Para ver todos los puntos "." archivos en el directorio de inicio, escriba "ls -la" (esto mostrará TODOS los archivos, incluidos los archivos "." ocultos)
  4. Verá 2 archivos: ".bash_profile" y ".bashrc"
  5. Abra el archivo .bashrc en VS Code Editor o su IDE e ingrese "source ~ / .bash_profile" en la primera línea (para apuntar el archivo .bashrc a .bash_profile)
  6. Abra el archivo .bash_profile en VS Code Editor e ingrese “alias bnode = '. / Node_modules / .bin / babel-node'” (para crear un acceso directo permanente a bnode para ejecutar como comando bash)
  7. Guarda y cierra ambos archivos
  8. Ahora abra el archivo que desea ejecutar (index.js) y ábralo en el símbolo del sistema del terminal y ejecute el archivo usando el comando "bnode index.js"
  9. Ahora su archivo index.js se ejecutará, pero antes de crear el alias bnode en el archivo .bash_profile obtendría el error "bash: no se encontró el comando bnode" y no reconocería ni daría errores en algún código ES6.
  10. Enlace útil para aprender sobre los archivos de puntos: https://dotfiles.github.io/

¡Espero que esto ayude! ¡Buena suerte!

Kean Amaral
fuente