Buscar..


Introducción

Los alias de shell son una forma sencilla de crear nuevos comandos o de envolver comandos existentes con su propio código. En cierto modo, se superponen con las funciones de shell, que, sin embargo, son más versátiles y, por lo tanto, a menudo se prefieren.

Observaciones

El alias solo estará disponible en el shell donde se emitió el comando alias.

Para persistir el alias considera ponerlo en tu .bashrc

Crear un alias

alias word='command'

Al invocar la word se ejecutará el command . Cualquier argumento proporcionado al alias se anexa simplemente al destino del alias:

alias myAlias='some command --with --options'
myAlias foo bar baz

El shell entonces ejecutará:

some command --with --options foo bar baz

Para incluir varios comandos en el mismo alias, puede unirlos con && . Por ejemplo:

alias print_things='echo "foo" && echo "bar" && echo "baz"'

Listar todos los alias

alias -p

listará todos los alias actuales.

Expandir alias

Suponiendo que la bar es un alias para someCommand -flag1 .

Escriba bar en la línea de comando y luego presione Ctrl + alt + e

obtendrá un someCommand -flag1 donde estaba parado el bar .

Eliminar un alias

Para eliminar un alias existente, use:

unalias {alias_name}

Ejemplo:

# create an alias    
$ alias now='date'

# preview the alias
$ now
Thu Jul 21 17:11:25 CEST 2016

# remove the alias
$ unalias now

# test if removed
$ now
-bash: now: command not found

Omitir un alias

A veces es posible que desee omitir un alias temporalmente, sin desactivarlo. Para trabajar con un ejemplo concreto, considere este alias:

alias ls='ls --color=auto'

Y digamos que desea utilizar el comando ls sin deshabilitar el alias. Tienes varias opciones:

  • Usa el command builtin: command ls
  • Use la ruta completa del comando: /bin/ls
  • Agregue un \ en cualquier lugar en el nombre del comando, por ejemplo: \ls , o l\s
  • Cita el comando: "ls" o 'ls'

BASH_ALIASES es un arreglo interno de bash assoc

Los alias se denominan accesos directos de comandos, uno puede definir y usar en instancias de bash interactivas. Se mantienen en una matriz asociativa llamada BASH_ALIASES. Para usar esta var en un script, debe ejecutarse dentro de un shell interactivo

#!/bin/bash -li
# note the -li above! -l makes this behave like a login shell
# -i makes it behave like an interactive shell
#
# shopt -s expand_aliases will not work in most cases

echo There are ${#BASH_ALIASES[*]} aliases defined.

for ali in "${!BASH_ALIASES[@]}"; do
   printf "alias: %-10s triggers: %s\n" "$ali" "${BASH_ALIASES[$ali]}" 
done


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow