Comando Linux / Unix: ash

Comando Linux / Unix: ash

Comando Linux / Unix: ash

VALORACIÓN DEL ARTÍCULO:
5/5


Índice de contenidos

NOMBRE

sh – intérprete de comandos (shell)

SINOPSIS

sh [- /+aCefnuvxIimqsVEbc ][- o longname ] -words [ target … ]

DESCRIPCIÓN

Sh es el intérprete de comandos estándar del sistema. La versión actual de sh está en proceso de ser cambiada para ajustarse a las especificaciones POSIX 1003.2 y 1003.2a para el shell. Esta versión tiene muchas características que la hacen parecer similar en algunos aspectos a la shell de Korn, pero no es un clon de shell de Korn (ver ksh(1)). Sólo las características designadas por POSIX más algunas extensiones de Berkeley, están siendo incorporadas en este shell. Esperamos conformidad con POSIX para cuando se libere 4.4 BSD. Esta página de manual no pretende ser un tutorial o una especificación completa del shell.

Descripción general

El shell es un comando que lee líneas de un archivo o de la terminal, las interpreta y generalmente ejecuta otros comandos. Es el programa que se está ejecutando cuando un usuario inicia sesión en el sistema (aunque un usuario puede seleccionar una shell diferente con el comando chsh(1)). El shell implementa un lenguaje que tiene construcciones de control de flujo, una instalación de macros que proporciona una variedad de características además de almacenamiento de datos, junto con capacidades de edición de historial y de línea incorporadas. Incorpora muchas características para ayudar al uso interactivo y tiene la ventaja de que el lenguaje interpretativo es común tanto al uso interactivo como al no interactivo (shell scripts). Es decir, los comandos se pueden escribir directamente en el intérprete de comandos en ejecución o se pueden poner en un archivo y el archivo se puede ejecutar directamente por el intérprete de comandos.

Invocación

Si no hay args presentes y si la entrada estándar del shell está conectada a un terminal (o si el indicador – i está activado), y la opción – c no está presente, el shell se considera un shell interactivo. Un intérprete de comandos interactivo generalmente solicita antes de cada comando y maneja los errores de programación y de comando de manera diferente (como se describe a continuación). Cuando se inicia por primera vez, el intérprete de comandos inspecciona el argumento 0, y si comienza con un guión `-‘ el intérprete de comandos también se considera un intérprete de comandos de inicio de sesión. Normalmente, el sistema lo hace automáticamente cuando el usuario inicia sesión por primera vez. Una shell de inicio de sesión lee primero los comandos de los archivos /etc/profile y .profile si existen. Si la variable de entorno ENV se establece en la entrada de una shell, o en el perfil.profile de una shell de inicio de sesión, la shell lee a continuación comandos del archivo nombrado en ENV Por lo tanto, un usuario debe colocar comandos que se ejecutarán sólo en el momento del inicio de sesión en el archivo.profile, y comandos que se ejecutarán para cada shell dentro del archivo ENV . Para establecer la variable ENV en algún archivo, coloque la siguiente línea en su perfil.de su directorio raíz

ENV=$HOME/.shinit; exportar ENV

sustituyendo «`.shinit» por cualquier nombre de archivo que desee. Dado que el archivo ENV se lee para cada invocación de la shell, incluyendo scripts shell y shells no interactivos, el siguiente paradigma es útil para restringir comandos en el archivo ENV a invocaciones interactivas. Ponga comandos dentro del «`caso» y «`esac» abajo (estos comandos se describen más adelante):

case $- in *i*)

# comandos para uso interactivo solamente

….

esac

Si se han especificado argumentos de línea de comandos además de las opciones, el intérprete de comandos trata el primer argumento como el nombre de un archivo desde el que leer comandos (un script del intérprete de comandos), y los argumentos restantes se establecen como los parámetros posicionales del intérprete de comandos ($1, $2, etc.). De lo contrario, el shell lee comandos de su entrada estándar.

Procesamiento de listas de argumentos

Todas las opciones de una sola letra tienen un nombre correspondiente que puede usarse como argumento para la opción – o . El nombre set – o se proporciona junto a la opción de una sola letra en la descripción siguiente. Especificar un guión «-» activa la opción, mientras que usar un más «+» desactiva la opción. Las siguientes opciones se pueden configurar desde la línea de comandos o con el set(1) incorporado (descrito más adelante).

-a allexport

Exportar todas las variables asignadas a. (NO IMPLEMENTADO para 4.4alfa)

-c

Leer comandos desde la línea de comandos. No se leerá ningún comando de la entrada estándar.

-C noclobber

No sobrescribir archivos existentes con «>». (NO IMPLEMENTADO para 4.4alfa)

-e errexit

Si no es interactivo, salga inmediatamente si algún comando no probado falla. El estado de salida de un comando se considera explícitamente probado si el comando se utiliza para controlar un si elifwhile o hasta o si el comando es el operando izquierdo de un operador «`&&» o «`||||».

-f noglob

Desactivar la expansión de la ruta de acceso.

-n noexec

Si no es interactivo, lea los comandos pero no los ejecute. Esto es útil para comprobar la sintaxis de los scripts de shell.

-u nounset

Escriba un mensaje de error estándar cuando intente expandir una variable que no esté definida, y si la shell no es interactiva, salga inmediatamente. (NO IMPLEMENTADO para 4.4alfa)

-v verbose

La shell escribe su entrada en el error estándar a medida que se lee. Útil para la depuración.

-x xtrace

Escriba cada comando en error estándar (precedido de un `+ ‘ antes de ejecutarlo. Útil para la depuración.

-q quietprofile

Si las opciones – v o – x , no las aplique al leer los archivos de inicialización, ya que son /etc/profile.profile y el archivo especificado por la variable de entorno ENV .

-I ignoreeof

Ignorar los EOFs de la entrada cuando son interactivos.

-i interactive

Forzar al proyectil a comportarse de forma interactiva.

-m monitor

Activar el control de trabajos (configurado automáticamente cuando es interactivo).

-s stdin

Leer comandos de entrada estándar (se establece automáticamente si no hay argumentos de archivo presentes). Esta opción no tiene efecto cuando se establece después de que el shell ya ha comenzado a funcionar (es decir, con set(1)).

-V vi

Habilite el editor de línea de comandos vi(1) incorporado (deshabilita – E si se ha configurado).

-E emacs

Habilite el editor de línea de comandos emacs(1) integrado (deshabilita – V si se ha configurado).

-b notify

Habilitar la notificación asincrónica de la terminación del job de fondo. (NO IMPLEMENTADO para 4.4alfa)

Estructura léxica

El shell lee las entradas en términos de líneas de un archivo y las divide en palabras en espacios en blanco (espacios en blanco y tabulaciones), y en ciertas secuencias de caracteres que son especiales para el shell llamadas «`operadores» Hay dos tipos de operadores: operadores de control y operadores de redirección (su significado se discute más adelante). La siguiente es una lista de operadores:

«Operadores de control:»

&&&& (;) ;; | |||

"Operador de redireccionamiento:"

Citando

Las citas se utilizan para eliminar el significado especial de ciertos caracteres o palabras del shell, como operadores, espacios en blanco o palabras clave. Hay tres tipos de citas: citas simples coincidentes, citas dobles coincidentes y barra invertida.

Barra diagonal inversa

Una barra invertida preserva el significado literal del siguiente carácter, con la excepción de la nueva línea Aq. Una barra invertida que precede a una nueva línea Aq se trata como una continuación de línea.

Citas simples

Incluir caracteres en comillas simples preserva el significado literal de todos los caracteres (excepto las comillas simples, lo que hace imposible poner comillas simples en una cadena de comillas simples).

Citas dobles

Incluir caracteres dentro de comillas dobles preserva el significado literal de todos los caracteres excepto el signo de dólar ($), la barra invertida (`) y la barra invertida () La barra invertida dentro de las comillas dobles es históricamente extraña, y sirve para citar sólo los siguientes caracteres:

$ ` ` N - newline 

De lo contrario, sigue siendo literal.

Palabras reservadas

Las palabras reservadas son palabras que tienen un significado especial para el shell y se reconocen al principio de una línea y después de un operador de control. Las siguientes son palabras reservadas:

! Ta elif Ta fi Ta while Ta case

else Ta for Ta then Ta { Ta }

do Ta done Ta until Ta if Ta esac

Su significado se discute más adelante.

Alias

Un alias es un nombre y un conjunto de valores correspondiente que utiliza el comando alias(1) incorporado. Siempre que puede ocurrir una palabra reservada (ver arriba), y después de comprobar si hay palabras reservadas, el shell comprueba la palabra para ver si coincide con un alias. Si lo hace, lo reemplaza en el flujo de entrada con su valor. Por ejemplo, si hay un alias llamado ```lf'' con el valor ``ls -F'', entonces la entrada:

lf foobar

se convertiría en

ls -F foobar

Los alias proporcionan una forma conveniente para que los usuarios ingenuos creen abreviaturas de comandos sin tener que aprender a crear funciones con argumentos. También se pueden utilizar para crear código léxicamente oscuro. Se desaconseja este uso.

Comandos

TAMBIÉN TE INTERESA

fusión-Orange-MásMóvil

Orange y MásMóvil: arranca el nuevo gigante de las teleco en España

Orange y MásMóvil han anunciado al fin la formación de su nueva empresa conjunta, completando así el acuerdo para fusionar sus operaciones en España. Tras años de negociación, se ha completado una operación que ha dado lugar a la creación de la mayor operadora de telecomunicaciones en España. Los accionistas de ambas compañías poseen el

Instagram-Creator-Marketplace

España, a la espera del Instagram Creator Marketplace

Instagram es una de las redes sociales de mayor impacto en la población española. Desde su irrupción, la figura del influencer ha crecido enormemente en el mundo del marketing y las marcas. La herramienta Instagram Creator Marketplace puede seguir fortaleciendo a estos prescriptores, visto el potencial que empieza a tener este servicio en Estados Unidos.

avatares-Roblox

Vámonos de shopping en Roblox: Mango inaugura su primera tienda

En dinámico mundo de los juegos online, Roblox (con más de 70 millones de usuarios activos diarios) se ha destacado como una plataforma que ofrece a los participantes una experiencia única y diversa. Una de las características más populares de Roblox es su sistema de personalización de avatares, que permite a los jugadores expresar su

Snapdragon-8-Gen-3

Snapdragon 8 Gen 3, el chip de Qualcomm que empujará la IA en los móviles

La IA ha llegado al universo de los smartphones. Los últimos lanzamientos ya se anuncian con la inteligencia como protagonista. De igual manera, las grandes actualizaciones de software vienen marcada por la presencia de nuevas funciones movidas bajo los parámetros de la inteligencia artificial generativa. Al margen de los desarrollos a nivel de software, es

Ecowatch-1-de-Maxcom

Con el Ecowatch 1 no tendrás excusas para pasarte a un reloj inteligente

Sabemos que es muy difícil convencer a un perfil de personas que reniegan de un smartwatch a comprarse un reloj inteligente y quitarse el de toda la vida. No obstante, vamos a intentarlo con el Ecowatch 1 de Maxcom.  Es tarea complicada porque el gusto por los relojes suele estar muy definido en ciertas personas.