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

pagos por WhatsApp con Silbo

Silbo ensaya con un proyecto que es el deseo de muchos: pagos por WhatsApp

Aunque el dinero en efectivo tenga aún muchas resistencias en España, es evidente que ha entrado en una condición de peligro en extinción. Bizum triunfa y próximamente los pagos por WahstApp serán una realidad. Esta función de la plataforma de mensajería instantánea más popular en España es uno de los grandes deseos de la comunidad.

GeForce RTX Serie 50

GeForce RTX Serie 50: el futuro de las gráficas y de la IA ya está aquí

NVIDIA ha presentado sus GPUs GeForce RTX Serie 50 para ordenadores de sobremesa y portátiles. Con este lanzamiento, se abre una nueva era para el futuro de los dispositivos, los cuales estarán impulsados por la inteligencia artificial en todas sus variantes. Impulsadas por la arquitectura NVIDIA Blackwell, los núcleos Tensor de quinta generación y los núcleos

OnePlus 13

El móvil del año 2025 llega muy pronto: ya a la venta el OnePlus 13

Justo después de Reyes, OnePlus 13 salía el mercado europeo tras debutar en el asiático semanas atrás. Smartphone bestial donde los haya, muy equilibrado, potente y muy duradero. Eso sí, el precio supera los 1.000 euros. Pero es que puede ser el móvil del año. Seguramente la competencia mire con detalle todo lo que puede