stringtranslate.com

alias (comando)

En informática , alias es un comando en varios intérpretes de línea de comandos ( shells ), que permite reemplazar una palabra por otra cadena. [1] Se utiliza principalmente para abreviar un comando del sistema o para agregar argumentos predeterminados a un comando usado regularmente. aliasestá disponible en shells de Unix , AmigaDOS , 4DOS / 4NT , FreeDOS , KolibriOS , Windows PowerShell , ReactOS y el shell EFI . [2] La funcionalidad de alias en los sistemas operativos MS-DOS y Microsoft Windows la proporciona la utilidad de línea de comandos DOSKey .

Un alias durará toda la vida de la sesión de shell. Los alias que se usan regularmente se pueden configurar desde el archivo rc del shell (como .bashrc) para que estén disponibles al iniciar la sesión de shell correspondiente. Los comandos de alias se pueden escribir directamente en el archivo de configuración o se pueden obtener de un archivo independiente.

Historia

En Unix, los alias se introdujeron en el shell C para sobrevivir en los shells descendientes como tcsh y bash . Los alias del shell C se limitaban estrictamente a una línea. Esto era útil para crear comandos de acceso directo simples, pero no construcciones más complejas. Las versiones anteriores del shell Bourne no ofrecían alias, pero sí funciones, que son más potentes que el concepto de alias de csh. El concepto de alias de csh se importó en Bourne Again Shell (bash) y el shell Korn (ksh). Con shells que admiten tanto funciones como alias pero no scripts de shell en línea parametrizados, se recomienda el uso de funciones siempre que sea posible. Los casos en los que son necesarios los alias incluyen situaciones en las que se requieren alias encadenados (bash y ksh). El comando alias también se ha trasladado al sistema operativo IBM i . [3]

Uso

Creando alias

Shells comunes de Unix

Se pueden crear alias no persistentes proporcionando pares de nombre/valor como argumentos para el comando alias. En los shells de Unix, la sintaxis es:

alias gc = 'confirmación de git' 

C-shell (concha C)

La sintaxis correspondiente en el shell C o tcsh es:

alias gc "confirmación de git"

Este alias significa que cuando el comando gcse lee en el shell, será reemplazado por git commity se ejecutará ese comando en su lugar.

4DOS

En el shell 4DOS/4NT se utiliza la siguiente sintaxis para definir cpun alias para el copycomando 4DOS:

alias cp copia

Windows PowerShell

Para crear un nuevo alias en Windows PowerShell, new-aliasse puede utilizar el cmdlet:

Nuevo alias  de copia de elemento CI 

Esto crea un nuevo alias llamado cique será reemplazado por el copy-itemcmdlet cuando se ejecute.

En PowerShell, no se puede utilizar un alias para especificar argumentos predeterminados para un comando. En su lugar, esto se debe hacer agregando elementos a la colección $PSDefaultParameterValues, una de las variables de preferencia de PowerShell.

Visualización de los alias definidos actualmente

Para ver los alias definidos se pueden utilizar los siguientes comandos:

alias # Se utiliza sin argumentos; muestra una lista de todos los alias actuales alias -p # Enumera los alias de una manera que permite la recreación obteniendo la salida; no disponible en 4DOS/4NT y PowerShell alias myAlias ​​# Muestra el comando para un alias definido     

Anulación de alias

En los shells de Unix, es posible anular un alias entrecomillando cualquier carácter en el nombre del alias cuando se utiliza el alias. Por ejemplo, considere la siguiente definición de alias:

alias ls = 'ls -la' 

Para anular este alias y ejecutar el lscomando como se definió originalmente, se puede utilizar la siguiente sintaxis:

"los"

o

\los

En el shell 4DOS/4NT es posible anular un alias anteponiéndole un asterisco. Por ejemplo, considere la siguiente definición de alias:

alias dir = *dir /2/p

El asterisco en la segunda instancia de hace que se invoque direl alias sin alias , lo que evita la expansión recursiva del alias. El usuario también puede obtener el comportamiento sin alias de en la línea de comandos utilizando la misma sintaxis:dirdir

*director

Cambiar alias

En Windows PowerShell, el setverbo se puede usar con el aliascmdlet para cambiar un alias existente:

conjunto-alias  ci  cls

El alias ciahora apuntará al clscomando.

En el shell 4DOS/4NT, el esetcomando proporciona una línea de comando interactiva para editar un alias existente:

eset /a cp

Hace que se edite /ael alias , a diferencia de una variable de entorno con el mismo nombre.cp

Eliminando alias

En los shells de Unix y 4DOS/4NT, los alias se pueden eliminar ejecutando el unaliascomando:

unalias  copy # Elimina el alias de copia unalias -a # El modificador -a eliminará todos los alias; no disponible en 4DOS/4NT unalias * # Equivalente de 4DOS/4NT de `unalias -a` - se admiten comodines     

En Windows PowerShell, el alias se puede eliminar de la unidad alias:\ mediante remove-item:

remove-item  alias : ci  # Elimina el alias ci

Características

Encadenamiento

Un alias normalmente reemplaza solo la primera palabra. Pero algunos shells, como bashy ksh, permiten reemplazar una secuencia o palabras. Esta característica particular no está disponible a través del mecanismo de función.

La sintaxis habitual es definir el primer alias con un espacio al final. Por ejemplo, si se utilizan los dos alias:

alias list = 'ls ' # tenga en cuenta el espacio final para activar el encadenamiento alias long = '-Flas' # opciones para ls para una lista larga    

permite:

lista  larga  myfile # se convierte en "ls -Flas myfile" cuando se ejecuta 

para una lista larga, donde "largo" también se evalúa como un alias.

Argumentos de comando

En C Shell , los argumentos se pueden incrustar dentro del comando utilizando la cadena \!* . Por ejemplo, con este alias:

 alias ls-more 'ls \!* | más'

ls-more /etc /usrse expande para ls /etc /usr | moreenumerar el contenido de los directorios /etc y /usr, deteniéndose después de cada pantalla completa. Sin \!* ,

 alias ls-more 'ls | más'

en lugar de eso se expandiría a ls | more /etc /usrlo que intenta incorrectamente abrir los directorios en más . [4]

Los shells Bash y Korn, en cambio, utilizan funciones de shell (consulte el § Alternativas a continuación).

Alternativas

Los alias deben ser sencillos. Si no lo son, se recomienda utilizar uno de los siguientes:

La forma más común de alias, que simplemente agrega unas pocas opciones a un comando y luego incluye el resto de la línea de comando, se puede convertir fácilmente en funciones de shell siguiendo este patrón:

alias ll = 'ls -Flas' # listado largo, alias
ll () { ls -Flas " $@ " ; } # listado largo, función          

Para evitar que una función se llame a sí misma recursivamente , utilice command:

ls () { comando ls --color = auto " $@ " ; }        

En los shells Bourne más antiguos, utilice /bin/lsen lugar de command ls.

Referencias

  1. ^ Rugheimer, Hannes (10 de junio de 2020). Referencia rápida de AmigaDOS : Rügheimer, Hannes : Descarga gratuita, préstamo y transmisión : Internet Archive. ISBN 9781557550491. Recuperado el 12 de septiembre de 2020 – vía Internet Archive.
  2. ^ "EFI Shells and Scripting" (Conchas y secuencias de comandos EFI). Intel . Consultado el 25 de septiembre de 2013 .
  3. ^ IBM . "Programación Qshell para IBM System i versión 7.2" (PDF) . IBM . Consultado el 5 de septiembre de 2020 .
  4. ^ "Ejemplos de paso de argumentos dados a un alias de comando". UNIXhelp . Universidad de Edimburgo . Archivado desde el original el 25 de noviembre de 2012.

Lectura adicional

Enlaces externos