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
, ol\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