Entendiendo el Comando Unix de Linux: sh

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp
Share on email
Share on print
Entendiendo el Comando Unix de Linux: sh

Entendiendo el Comando Unix de Linux: sh

VALORACIÓN DEL ARTÍCULO:
5/5


Nombre

bash – GNU Bourne-Again SHell

Sinopsis

bash [opciones][archivo]

Descripción

Bash es un intérprete de lenguaje de comandos compatible con que ejecuta comandos leídos desde la entrada estándar o desde un archivo. Bash también incorpora características útiles de Korn y Cshells ( ksh y csh ).

Bash es una implementación conforme a la especificación IEEE POSIX Shell and Tools (IEEE Working Group 1003.2).

Opciones

Además de las opciones de shell de un solo carácter documentadas en la descripción del comando integrado set , bash interpreta las siguientes opciones cuando se invoca:

-c string

Si la opción -c está presente, los comandos se leen desde string. Si hay argumentos después de la cadena , se asignan a los parámetros posicionales, empezando por $0 .

-i

Si la opción -i está presente, el shell es interactivo.

-l

Make bash actúa como si se hubiera invocado como una shell de inicio de sesión (ver INVOCATION más abajo).

-r

Si la opción -r está presente, el shell se vuelve restringido (ver RESTRICTED SHELL abajo).

-s

Si la opción -s está presente, o si no quedan argumentos después del procesamiento de la opción, entonces los comandos se leen desde la entrada estándar. Esta opción permite establecer los parámetros de posición cuando se invoca una shell interactiva.

-D

En la salida estándar se imprime una lista de todas las cadenas citadas dos veces precedidas por $ . Estas son las cadenas que están sujetas a traducción de idioma cuando la localización actual no es C o POSIX . Esto implica la opción -n ; no se ejecutará ningún comando.

[-+]O [ shopt_option]

shopt_option es una de las opciones de shell aceptadas por el shopt incorporado (ver SHELL BUILT-IN Comandos abajo). Si shopt_option está presente, -O establece el valor de esa opción; +O la anula. Si shopt_option no se suministra, los nombres y valores de las opciones de shell aceptadas por shopt se imprimen en la salida estándar. Si la opción de invocación es +O , la salida se muestra en un formato que puede reutilizarse como entrada.

A señala el final de las opciones y desactiva el procesamiento posterior de las mismas. Cualquier argumento después de se trata como nombres de archivo y argumentos. Un argumento de es equivalente a .

Bash también interpreta varias opciones de varios caracteres. Estas opciones deben aparecer en la línea de comandos antes de que se reconozcan las opciones de un solo carácter.

–dump-po-strings

Equivalente a -D , pero la salida está en el formato de archivo GNU gettext po (portable object).

–strings

Equivalente a -D .

–help

Visualizar un mensaje de uso en la salida estándar y salir con éxito.

–init-file file

–rcfile file

Ejecute comandos desde file en lugar del archivo de inicialización personal estándar ~/.bashrc si el shell es interactivo (ver INVOCATION a continuación).

–login

Equivalente a -l .

–nodición

No use la biblioteca readline de GNU para leer líneas de comando cuando el shell es interactivo.

–noprofile

No lea ni el archivo de inicio de todo el sistema /etc/profile ni ninguno de los archivos de inicialización personal ~/.bash_profile, ~/.bash_login, o ~/.profile. De forma predeterminada, bash lee estos archivos cuando se invoca como shell de inicio de sesión (consulte INVOCATION a continuación).

–norc

No lea ni ejecute el archivo de inicialización personal ~/.bashrc si el shell es interactivo. Esta opción está activada por defecto si el shell se invoca como sh .

–posix

Cambie el comportamiento de bash donde la operación por defecto difiere del estándar POSIX 1003.2 para que coincida con el estándar ( posix mode).

-restringido

El shell se vuelve restringido (ver RESTRICTED SHELL abajo).

–rpm-requiere

Producir la lista de archivos que son necesarios para que se ejecute el script del shell. Esto implica ‘-n’ y está sujeto a las mismas limitaciones que la comprobación de errores en tiempo de compilación; las pruebas Backticks, [] y evals no se analizan, por lo que algunas dependencias pueden perderse. –verbose Equivalente a -v .

–versión

Mostrar información de la versión para esta instancia de bash en la salida estándar y salir con éxito.

Argumentos

Si los argumentos permanecen después del procesamiento de opciones, y no se ha proporcionado ni la opción -c ni la opción -s , se asume que el primer argumento es el nombre de un archivo que contiene comandos shell. Si bash se invoca de esta manera, $0 se establece en el nombre del archivo, y los parámetros de posición se establecen en los argumentos restantes. Bash lee y ejecuta comandos desde este archivo, y luego sale. Bash ‘s exit status es el estado de salida del último comando ejecutado en el script. Si no se ejecutan comandos, el estado de salida es 0. Primero se intenta abrir el archivo en el directorio actual y, si no se encuentra ningún archivo, el shell busca el script en los directorios en PATH .

Invocación

Un login shell es aquel cuyo primer carácter del argumento cero es un , o uno iniciado con la opción –login .

Una shell interactiva es la que se inicia sin argumentos de no opción y sin la opción -c cuya entrada y salida estándar están conectadas a terminales (según lo determinado por isatty(3)), o la que se inicia con la opción -i . PS1 está configurado y $- incluye i si bash es interactivo, permitiendo que un script shell o un archivo de inicio pruebe este estado.

Los siguientes párrafos describen cómo bash ejecuta sus archivos de inicio. Si existe alguno de los archivos pero no se puede leer, bash informa de un error. Los Tildes se expanden en nombres de archivo como se describe a continuación en Expansión de Tilde en la sección EXPANSIÓN .

Cuando bash se invoca como un shell de inicio de sesión interactivo, o como un shell no interactivo con la opción –login , primero lee y ejecuta comandos del archivo /etc/profile, si existe ese archivo. Después de leer ese archivo, busca ~/.bash_profile, ~/.bash_login, y ~/.profile, en ese orden, y lee y ejecuta comandos del primero que existe y es legible. La opción –noprofile puede utilizarse cuando se inicia el shell para inhibir este comportamiento.

Cuando un shell de inicio de sesión sale, bash lee y ejecuta comandos desde el archivo ~/.bash_logout, si existe.

Cuando se inicia un shell interactivo que no es un shell de inicio de sesión, bash lee y ejecuta comandos desde ~/.bashrc, si existe ese archivo. Esto puede ser inhibido usando la opción –norc . La opción –rcfile file forzará bash a leer y ejecutar comandos desde file en lugar de ~/.bashrc.

Cuando bash se inicia de forma no interactiva, para ejecutar un script de shell, por ejemplo, busca la variable BASH_ENV en el entorno, expande su valor si aparece allí, y utiliza el valor expandido como nombre de un archivo a leer y ejecutar. Bash se comporta como si se ejecutara el siguiente comando:

si [ -n “$BASH_ENV” ]; entonces . “$BASH_ENV”; fi

pero el valor de la variable PATH no se utiliza para buscar el nombre del archivo.

Si bash se invoca con el nombre sh , intenta imitar el comportamiento de inicio de las versiones históricas de sh lo más fielmente posible, a la vez que se ajusta al estándar POSIX. Cuando se invoca como un shell de inicio de sesión interactivo, o como un shell no interactivo con la opción –login , primero intenta leer y ejecutar comandos desde /etc/profile y ~/.profile, en ese orden. La opción –noprofile puede utilizarse para inhibir este comportamiento. Cuando se invoca como un shell interactivo con el nombre sh , bash busca la variable ENV , expande su valor si está definido, y usa el valor expandido como el nombre de un archivo a leer y ejecutar. Dado que una shell invocada como sh no intenta leer y ejecutar comandos desde ningún otro archivo de inicio, la opción –rcfile no tiene ningún efecto. Una shell no interactiva invocada con el nombre sh no intenta leer ningún otro archivo de inicio. Cuando se invoca como sh , bash entra en modo posix después de que se leen los archivos de inicio.

Cuando bash se inicia en posix, como con la opción de línea de comandos –posix , sigue el estándar POSIX para archivos de inicio. En este modo, las shells interactivas expanden la variable ENV y los comandos se leen y ejecutan desde el archivo cuyo nombre es el valor expandido. No se leen otros archivos de inicio.

Bash intenta determinar cuándo está siendo ejecutado por el demonio de shell remoto, normalmente rshd. Si bash determina que está siendo ejecutado por rshd, lee y ejecuta comandos desde ~/.bashrc, si ese archivo existe y es legible. No lo hará si se invoca como sh . La opción –norc puede usarse para inhibir este comportamiento, y la opción –rcfile puede usarse para forzar la lectura de otro archivo, pero rshd generalmente no invoca el intérprete de órdenes con esas opciones ni permite que se especifiquen.

Si la shell se inicia con el identificador de usuario (grupo) efectivo no igual al identificador de usuario (grupo) real, y la opción -p no se proporciona, no se leen los archivos de inicio, las funciones de shell no se heredan del entorno, la variable SHELLOPTS , si aparece en el entorno, se ignora, y el identificador de usuario efectivo se establece en el identificador de usuario real. Si la opción -p se proporciona en la invocación, el comportamiento de inicio es el mismo, pero el ID de usuario efectivo no se restablece.

Definiciones

Las siguientes definiciones se utilizan en el resto de este documento.

en blanco

Un espacio o tabulador.

palabra

Una secuencia de caracteres considerados como una sola unidad por el shell. También conocido como token .

nombre

Una palabra que consiste sólo en caracteres alfanuméricos y guiones bajos, y que comienza con un carácter alfabético o un guión bajo. También llamado identificador .

Deja un comentario

TAMBIÉN TE INTERESA

mejores smartphones para niños

Top 5 de mejores smartphones para niños

Los niños naturalmente usan los teléfonos inteligentes de manera diferente a los adultos y, por lo tanto, necesitan dispositivos que se adapten perfectamente a sus necesidades. Pero, ¿qué teléfono inteligente es mejor para mi hijo y a qué más debo prestar atención al comprar un (primer) teléfono celular para mi hijo? ¡Puedes obtener respuestas a estas preguntas aquí!

niños en internet

Formas de administrar el uso de Internet de tus hijos con tu enrutador

¿Cómo te aseguras de que tus hijos realmente duerman en su habitación, en lugar de pasar toda la noche viendo videos en Internet? Bueno, una solución es mantener sus manos alejadas de sus dispositivos y administrar su uso de Internet directamente en la fuente, directamente en el enrutador. Aunque también hay muchas cosas que probablemente

Actualización de firmware: todo lo que debes saber

Una actualización de firmware suele ser muy molesta, porque siempre llega en el peor momento o son molestas por su frecuencia. Aun así, estas actualizaciones son sumamente importantes. No solo los teléfonos inteligentes y las PC, sino también las impresoras, los televisores y las cámaras deben recibir actualizaciones periódicas porque corrigen errores de software, cierran

ebooks en formato PDF

Las 4 mejores herramientas para editar PDF para Windows

¿Cómo editar PDF? El formato PDF tiene una serie de ventajas: una vez creado, nadie puede modificar tu documento y el formato permanece en tu lugar. Sin embargo, se vuelve engorroso si deseas realizar cambios en el archivo terminado posteriormente. Porque muchos programas que se pueden utilizar para editar PDF son bastante caros. Afortunadamente, también existen algunas

iPhone o Android: ¿cual debería comprar?

iPhone o Android: ¿cual debería comprar?

¿iPhone o Android? Es una competencia eterna entre Apple y Google: desde hace varios años, el mercado de los teléfonos inteligentes ha estado dominado por los dos sistemas operativos iOS y Android. Y aunque estos son similares en muchas áreas, cada uno puntúa con características únicas y tiene fortalezas y debilidades específicas. Por lo tanto, muchos usuarios se preguntan: ¿qué es mejor? iPhone

mejores smartphones 2021

Top 15 de mejores smartphones 2021

Los teléfonos inteligentes  o smartphones cada vez tienen más funciones y nos facilitan las tareas del dia a día. Ya sea el iPhone de Apple, la serie Galaxy S de Samsung o Huawei, la selección es enorme y no es fácil encontrar el teléfono móvil perfecto. En este top 15, te presentamos los mejores teléfonos móviles que están disponibles actualmente