InglésFrancésEspañol

Ad


icono de página de OnWorks

bash - Online en la nube

Ejecute bash en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando bash que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


bash - GNU Bourne-Again SHell

SINOPSIS


golpear [opciones] [command_string | expediente]

DERECHOS DE AUTOR


Bash tiene Copyright (C) 1989-2013 de Free Software Foundation, Inc.

DESCRIPCIÓN


Comandos de Bash es un shintérprete de lenguaje de comandos compatible que ejecuta comandos leídos desde el
entrada estándar o de un archivo. Comandos de Bash también incorpora funciones útiles de la Korn y C
conchasksh y csh).

Comandos de Bash pretende ser una implementación conforme de la parte de Shell y Utilities de
la especificación IEEE POSIX (estándar IEEE 1003.1). Comandos de Bash se puede configurar para ser POSIX-
conforme por defecto.

CAMPUS


Todas las opciones de shell de un solo carácter documentadas en la descripción del set
El comando incorporado se puede usar como opciones cuando se invoca el shell. Además, golpear
interpreta las siguientes opciones cuando se invoca:

-c Si -c la opción está presente, entonces los comandos se leen desde la primera opción que no es
argumento cadena_comando. Si hay argumentos después de la cadena_comando, Que
se asignan a los parámetros posicionales, comenzando con $0.
-i Si -i la opción está presente, el shell es interactivo.
-l Haz golpear actuar como si se hubiera invocado como un shell de inicio de sesión (consulte INVOCACIÓN abajo).
-r Si -r la opción está presente, el shell se convierte en límite (consulta: RESTRINGIDO SHELL
abajo).
-s Si -s opción está presente, o si no quedan argumentos después del procesamiento de la opción,
luego, los comandos se leen desde la entrada estándar. Esta opción permite
parámetros posicionales que se establecerán al invocar un shell interactivo.
-D Una lista de todas las cadenas entre comillas dobles precedidas por $ está impreso en el estándar
producción. Estas son las cadenas que están sujetas a traducción de idioma cuando el
la configuración regional actual no es C or POSIX. Esto implica el -n opción; ningún comando lo hará
ser ejecutado.
[- +] O [opción_compra]
opción_compra es una de las opciones de shell aceptadas por el comprado incorporado (ver
SHELL INCORPORADO COMANDOS debajo). Si opción_compra está presente, -O establece el valor de
esa opción; +O lo desarma. Si opción_compra no se proporciona, los nombres y
valores de las opciones de shell aceptadas por comprado están impresos en el estándar
producción. Si la opción de invocación es +O, la salida se muestra en un formato
que se puede reutilizar como entrada.
-- A -- señala el final de las opciones y deshabilita el procesamiento adicional de opciones. Alguna
argumentos después de la -- se tratan como nombres de archivo y argumentos. Un argumento de -
es equivalente a --.

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

--depurador
Organice la ejecución del perfil del depurador antes de que se inicie el shell. Encender
modo de depuración extendido (consulte la descripción del extdebug opción a la comprado
incorporado a continuación).
--dump-po-cadenas
Equivalente a -D, pero la salida está en GNU gettext po archivo (objeto portátil)
formato.
--cadenas de volcado
Equivalente a -D.
--ayuda Muestre un mensaje de uso en la salida estándar y salga correctamente.
--init-archivo presentar
--rcarchivo presentar
Ejecutar comandos desde presentar en lugar del archivo de inicialización de todo el sistema
/etc/bash.bashrc y el archivo de inicialización personal estándar ~ / .bashrc si el
shell es interactivo (ver INVOCACIÓN abajo).

--acceso
Equivalente a -l.

--noeditar
No use el GNU readline biblioteca para leer líneas de comando cuando el shell está
interactiva.

--sin perfil
No lea el archivo de inicio de todo el sistema / etc / profile o cualquiera de los personales
archivos de inicialización ~ / .bash_profile, ~ / .bash_logino ~ / .profile. Por defecto,
golpear lee estos archivos cuando se invoca como un shell de inicio de sesión (consulte INVOCACIÓN abajo).

--norc No lea ni ejecute el archivo de inicialización de todo el sistema /etc/bash.bashrc y
el archivo de inicialización personal ~ / .bashrc si el shell es interactivo. Esta
La opción está activada de forma predeterminada si el shell se invoca como sh.

--posix
Cambiar el comportamiento de golpear donde la operación predeterminada difiere de POSIX
estándar para que coincida con el estándar (POSIX modo). Ver VEA O a continuación para una referencia a
un documento que detalla cómo el modo posix afecta el comportamiento de bash.

--restringido
El caparazón se vuelve restringido (ver RESTRINGIDO SHELL abajo).

--verboso
Equivalente a -v.

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

ARGUMENTOS


Si los argumentos permanecen después del procesamiento de la opción, y ni el -c ni la -s la opción ha sido
suministrado, se supone que el primer argumento es el nombre de un archivo que contiene shell
comandos. Si golpear se invoca de esta manera, $0 se establece en el nombre del archivo, y el
los parámetros posicionales se establecen en los argumentos restantes. Comandos de Bash lee y ejecuta
comandos de este archivo, luego sale. Comandos de BashEl estado de salida es el estado de salida del último
comando ejecutado en el script. Si no se ejecutan comandos, el estado de salida es 0. Un
Primero se intenta abrir el archivo en el directorio actual y, si no se encuentra ningún archivo,
luego el shell busca los directorios en TRAYECTORIA para el guión.

INVOCACIÓN


A Inicie sesión shell es uno cuyo primer carácter del argumento cero es un -, o uno comenzó con
las --acceso .

An interactivo shell es uno que se inicia sin argumentos que no sean de opción y sin el -c opción
cuya entrada estándar y error están ambos conectados a terminales (según lo determinado por
isatty(3)), o uno comenzó con el -i . PS1 está configurado y $- incluye i if golpear is
interactivo, lo que permite que un script de shell o un archivo de inicio prueben este estado.

Los siguientes párrafos describen cómo golpear ejecuta sus archivos de inicio. Si alguno de los
los archivos existen pero no se pueden leer, golpear informa un error. Las tildes se expanden en nombres de archivo
como se describe a continuación en tilde Expansión existentes EXPANSIÓN .

Cuándo golpear se invoca como un shell de inicio de sesión interactivo, o como un shell no interactivo con el
--acceso opción, primero lee y ejecuta comandos desde el archivo / etc / profile, Si que
El archivo existe. Después de leer ese archivo, busca ~ / .bash_profile, ~ / .bash_loginy
~ / .profile, en ese orden, y lee y ejecuta comandos desde el primero que existe
y es legible. los --sin perfil La opción se puede utilizar cuando se inicia el shell para inhibir
este comportamiento.

Cuando sale un shell de inicio de sesión, golpear lee y ejecuta comandos del archivo ~ / .bash_logout,
si existiera.

Cuando se inicia un shell interactivo que no es un shell de inicio de sesión, golpear lee y ejecuta
comandos de /etc/bash.bashrc y ~ / .bashrc, si estos archivos existen. Esto puede estar inhibido
mediante el uso de la --norc opción. La --rcarchivo presentar la opción forzará golpear leer y ejecutar
comandos de presentar en lugar de /etc/bash.bashrc y ~ / .bashrc.

Cuándo golpear se inicia de forma no interactiva, para ejecutar un script de shell, por ejemplo, busca
La variable BASH_ENV en el medio ambiente, amplía su valor si aparece allí, y utiliza
el valor expandido como el nombre de un archivo para leer y ejecutar. Comandos de Bash se comporta como si el
se ejecutaron los siguientes comandos:
si [-n "$ BASH_ENV"]; luego . "$ BASH_ENV"; fi
pero el valor de la TRAYECTORIA La variable no se utiliza para buscar el nombre de archivo.

If golpear se invoca con el nombre sh, trata de imitar el comportamiento de inicio de históricos
versiones de sh lo más fielmente posible, al mismo tiempo que cumple con el estándar POSIX.
Cuando se invoca como un shell de inicio de sesión interactivo o un shell no interactivo con el --acceso
opción, primero intenta leer y ejecutar comandos desde / etc / profile y ~ / .profile,
en ese orden. los --sin perfil La opción se puede utilizar para inhibir este comportamiento. Cuando se invoca
como un shell interactivo con el nombre sh, golpear busca la variable ENV, expande su
valor si está definido, y usa el valor expandido como el nombre de un archivo para leer y
ejecutar. Dado que un shell invocado como sh no intenta leer y ejecutar comandos desde
cualquier otro archivo de inicio, el --rcarchivo La opción no tiene ningún efecto. Un caparazón no interactivo
invocado con el nombre sh no intenta leer ningún otro archivo de inicio. Cuando se invoca
as sh, golpear entra POSIX modo después de leer los archivos de inicio.

Cuándo golpear se inicia en POSIX modo, como con el --posix opción de línea de comando, sigue
el estándar POSIX para archivos de inicio. En este modo, los shells interactivos expanden el ENV
La variable y los comandos se leen y ejecutan desde el archivo cuyo nombre es el expandido.
valor. No se leen otros archivos de inicio.

Comandos de Bash intenta determinar cuándo se está ejecutando con su entrada estándar conectada a un
conexión de red, como cuando se ejecuta por el demonio de shell remoto, generalmente rshd, o el
demonio de shell seguro sshd. Si golpear determina que se está ejecutando de esta manera, lee
y ejecuta comandos desde ~ / .bashrc y ~ / .bashrc, si estos archivos existen y son legibles.
No hará esto si se invoca como sh. --norc La opción se puede utilizar para inhibir esta
comportamiento, y el --rcarchivo La opción se puede usar para forzar la lectura de otro archivo, pero
ninguno rshd ni sshd generalmente invocar el shell con esas opciones o permitir que sean
especificado.

Si el shell se inicia con el ID de usuario efectivo (grupo) no igual al usuario real
(grupo) id, y el -p no se proporciona la opción, no se leen archivos de inicio, funciones de shell
no se heredan del medio ambiente, los COMPRAS, BASTIDORES, CDPATHy GLOBIGNORAR
Las variables, si aparecen en el entorno, se ignoran y la identificación de usuario efectiva es
establecido en el ID de usuario real. Si el -p La opción se proporciona en la invocación, el comportamiento de inicio
es el mismo, pero la identificación de usuario efectiva no se restablece.

DEFINICIONES


Las siguientes definiciones se utilizan en el resto de este documento.
en blanco Un espacio o pestaña.
por el temor Una secuencia de caracteres considerados como una sola unidad por el caparazón. También conocido como
ficha.
nombre A por el temor que consta solo de caracteres alfanuméricos y guiones bajos, y al principio
con un carácter alfabético o un guión bajo. También conocido como identificador.
metacarácter
Un personaje que, cuando no se cita, separa palabras. Uno de los siguientes:
| & ; ( ) < > espacio de la pestaña.
control operador
A ficha que realiza una función de control. Es uno de los siguientes símbolos:
|| & && ; ;; ( ) | |&

RESERVADO PALABRAS


RESERVADO palabras son palabras que tienen un significado especial para el caparazón. Las siguientes palabras
se reconocen como reservados cuando no están entre comillas y la primera palabra de un comando simple
(consulta: SHELL GRAMÁTICA a continuación) o la tercera palabra de un case or para mando:

! case coproceso do hecho elif más esac fi para función if in selecciona luego hasta mientras { }
equipo [[ ]]

SHELL GRAMÁTICA


sencillos Comandos
A simples comando es una secuencia de asignaciones de variables opcionales seguida de en blanco-
palabras separadas y redirecciones, y terminadas por un control operador. La primera palabra
especifica el comando que se ejecutará y se pasa como argumento cero. Las palabras restantes
se pasan como argumentos al comando invocado.

El valor de retorno de un simples comando es su estado de salida, o 128+n si el comando es
terminado por señal n.

Pipelines
A industrial es una secuencia de uno o más comandos separados por uno de los operadores de control
| or |&. El formato de una canalización es:

[equipo [-p]] [! ] comando [[||&] comando 2 ...]

La salida estándar de comando está conectado a través de una tubería a la entrada estándar de comando 2.
Esta conexión se realiza antes de cualquier redirección especificada por el comando (ver
REDIRECCION debajo). Si |& es usado comandoerror estándar, además de su estándar
salida, está conectado a comando 2entrada estándar a través de la tubería; es una abreviatura de
2> y 1 |. Esta redirección implícita del error estándar a la salida estándar es
realizado después de cualquier redirección especificada por el comando.

El estado de retorno de una canalización es el estado de salida del último comando, a menos que el
tubería la opción está habilitada. Si tubería está habilitado, el estado de retorno de la tubería es el
valor del último comando (más a la derecha) para salir con un estado distinto de cero, o cero si todos
los comandos salen con éxito. Si la palabra reservada ! precede a una tubería, el estado de salida
de esa tubería es la negación lógica del estado de salida como se describe anteriormente. La cáscara
espera a que finalicen todos los comandos de la canalización antes de devolver un valor.

Si equipo La palabra reservada precede a una canalización, el tiempo transcurrido, así como el tiempo del usuario y del sistema.
consumidos por su ejecución se informan cuando la tubería termina. los -p opción
cambia el formato de salida al especificado por POSIX. Cuando el caparazón está en POSIX modo, Se
no reconoce equipo como palabra reservada si el siguiente token comienza con un `- '. los
FORMATO DE TIEMPO La variable se puede establecer en una cadena de formato que especifica cómo la sincronización
debe mostrarse información; ver la descripción de FORMATO DE TIEMPO bajo Cáscara Variables
abajo.

Cuando el caparazón está en POSIX modo, equipo puede ir seguido de una nueva línea. En este caso, el
shell muestra el tiempo total del usuario y del sistema consumido por el shell y sus elementos secundarios. los
FORMATO DE TIEMPO La variable se puede utilizar para especificar el formato de la información de tiempo.

Cada comando en una canalización se ejecuta como un proceso separado (es decir, en una subcapa).

Listas
A lista es una secuencia de una o más canalizaciones separadas por uno de los operadores ;, &, &&,
or ||, y opcionalmente terminado por uno de ;, &o .

De estos operadores de lista, && y || tienen igual precedencia, seguido de ; y &, cual tiene
igual precedencia.

Una secuencia de una o más nuevas líneas puede aparecer en un lista en lugar de un punto y coma para delimitar
comandos.

Si un comando es terminado por el operador de control &, el shell ejecuta el comando en
las fondo en una subcapa. El shell no espera a que finalice el comando, y el
el estado de retorno es 0. Los comandos separados por un ; se ejecutan secuencialmente; el caparazón espera
para que cada comando termine a su vez. El estado de retorno es el estado de salida del último
comando ejecutado.

Las listas AND y OR son secuencias de una o más canalizaciones separadas por && y || control
operadores, respectivamente. Las listas Y y O se ejecutan con asociatividad izquierda. Un Y
la lista tiene la forma

comando 1 && comando 2

comando 2 se ejecuta si, y solo si, comando 1 devuelve un estado de salida de cero.

Una lista OR tiene la forma

comando 1 || comando 2

comando 2 se ejecuta si y solo si comando 1 devuelve un estado de salida distinto de cero. El regreso
El estado de las listas Y y O es el estado de salida del último comando ejecutado en la lista.

Compuesto Comandos
A compuesto comando es uno de los siguientes. En la mayoría de los casos, un lista en un comando
La descripción puede estar separada del resto del comando por una o más líneas nuevas, y puede
ir seguido de una nueva línea en lugar de un punto y coma.

(lista) lista se ejecuta en un entorno de subshell (ver COMANDO EJECUCIÓN MEDIO AMBIENTE
debajo). Asignaciones variables y comandos incorporados que afectan a la shell
entorno no permanecen en vigor después de que se completa el comando. El estado de devolución
es el estado de salida de lista.

{ lista; }
lista simplemente se ejecuta en el entorno de shell actual. lista debe ser terminado
con una nueva línea o punto y coma. Esto se conoce como grupo de XNUMX comando. El estado de devolución
es el estado de salida de lista. Tenga en cuenta que a diferencia de los metacaracteres ( y ), { y }
en reservados palabras y debe ocurrir donde se permite que una palabra reservada sea
Reconocido. Dado que no provocan una interrupción de palabras, deben separarse de lista
por espacio en blanco u otro metacarácter de shell.

((expresión))
El expresión se evalúa de acuerdo con las reglas que se describen a continuación en ARITMÉTICA
IMPACTO. Si el valor de la expresión no es cero, el estado de retorno es 0;
de lo contrario, el estado de devolución es 1. Esto es exactamente equivalente a dejar "expresión".

[[ expresión ]]
Devuelve un estado de 0 o 1 dependiendo de la evaluación de la expresión condicional
expresión. Las expresiones se componen de las primarias que se describen a continuación en
CONDICIONAL EXPRESIONES. No se realiza la división de palabras ni la expansión de nombre de ruta
en las palabras entre el [[ y ]]; expansión de tilde, parámetro y variable
expansión, expansión aritmética, sustitución de comandos, sustitución de procesos y
se realizan la eliminación de cotizaciones. Operadores condicionales como -f debe estar sin citar a
ser reconocidos como primarios.

Cuando se usa con [[, la < y > los operadores ordenan lexicográficamente usando el actual
local.

Ver la descripción del test comando incorporado (sección COMANDOS INTEGRADOS DE SHELL a continuación) para
el manejo de parámetros (es decir, parámetros faltantes).

Cuando el == y != Se utilizan operadores, la cadena a la derecha del operador es
considerado un patrón y emparejado de acuerdo con las reglas que se describen a continuación en Patrón de Costura
Coincidencia de, como si el extglob La opción de shell estaba habilitada. los = operador es equivalente a
==. Si la opción de shell no hay coincidencia está habilitado, la coincidencia se realiza sin tener en cuenta
el caso de los caracteres alfabéticos. El valor de retorno es 0 si la cadena coincide (==) o
no coincide (!=) el patrón y 1 de lo contrario. Se puede citar cualquier parte del patrón.
para forzar que la parte citada se corresponda como una cadena.

Un operador binario adicional, =~, está disponible, con la misma precedencia que == y !=.
Cuando se usa, la cadena a la derecha del operador se considera una extensión regular
expresión y coincidió en consecuencia (como en expresiones regulares(3)). El valor de retorno es 0 si la cadena
coincide con el patrón y 1 en caso contrario. Si la expresión regular es sintácticamente
incorrecto, el valor de retorno de la expresión condicional es 2. Si la opción de shell
no hay coincidencia está habilitado, la coincidencia se realiza sin tener en cuenta el caso de alfabético
caracteres. Se puede citar cualquier parte del patrón para forzar que la parte citada sea
emparejado como una cuerda. Las expresiones entre corchetes en expresiones regulares deben tratarse
con cuidado, ya que los caracteres de comillas normales pierden su significado entre paréntesis. Si el
El patrón se almacena en una variable de shell, citando la variable expansión fuerza todo el
patrón que se emparejará como una cuerda. Subcadenas emparejadas por subexpresiones entre paréntesis
dentro de la expresión regular se guardan en la variable de matriz BASH_REMATCH. El elemento
of BASH_REMATCH con índice 0 es la parte de la cadena que coincide con todo el regular
expresión. El elemento de BASH_REMATCH con índice n es la parte de la cuerda
coincidiendo con el nla subexpresión entre paréntesis.

Las expresiones se pueden combinar utilizando los siguientes operadores, enumerados en orden decreciente de
precedencia:

( expresión )
Devuelve el valor de expresión. Esto se puede utilizar para anular el normal
precedencia de los operadores.
! expresión
Cierto si expresión Es falso.
expresión1 && expresión2
Cierto si ambos expresión1 y expresión2 son verdaderas.
expresión1 || expresión2
Verdadero si cualquiera expresión1 or expresión2 es verdad.

El && y || los operadores no evalúan expresión2 si el valor de expresión1 is
suficiente para determinar el valor de retorno de toda la expresión condicional.

para nombre [[ in [ por el temor ... ]]; ] do lista ; hecho
La lista de palabras siguientes in se expande, generando una lista de elementos. los
variable nombre se establece en cada elemento de esta lista, y lista es ejecutado
cada vez. Si el in por el temor se omite, el para el comando se ejecuta lista una vez para cada
parámetro posicional que se establece (ver PARÁMETROS debajo). El estado de devolución es el
estado de salida del último comando que se ejecuta. Si la expansión de los elementos
siguiendo in da como resultado una lista vacía, no se ejecutan comandos y el retorno
el estado es 0.

para (( Expr1 ; Expr2 ; Expr3 )); do lista ; hecho
Primero, la expresión aritmética Expr1 se evalúa de acuerdo con las reglas
descrito a continuación en ARITMÉTICA IMPACTO. La expresión aritmética Expr2 is
luego se evalúa repetidamente hasta que se evalúa a cero. Cada vez Expr2 evalúa a
un valor distinto de cero, lista se ejecuta y la expresión aritmética Expr3 is
evaluado. Si se omite alguna expresión, se comporta como si se evaluara como 1. La
El valor de retorno es el estado de salida del último comando en lista que se ejecuta, o
falso si alguna de las expresiones no es válida.

selecciona nombre [ in por el temor ]; do lista ; hecho
La lista de palabras siguientes in se expande, generando una lista de elementos. El conjunto de
Las palabras expandidas se imprimen en el error estándar, cada una precedida por un número. Si el
in por el temor se omite, los parámetros posicionales se imprimen (ver PARÁMETROS abajo).
El PS3 A continuación, se muestra el mensaje y se lee una línea de la entrada estándar. Si el
línea consta de un número correspondiente a una de las palabras mostradas, luego el
valor de nombre se establece en esa palabra. Si la línea está vacía, las palabras y la indicación son
se muestra de nuevo. Si se lee EOF, el comando se completa. Cualquier otro valor leído
causas nombre que se establezca en nulo. La línea leída se guarda en la variable RESPUESTA.
lista se ejecuta después de cada selección hasta que romper se ejecuta el comando. La salida
estado de selecciona es el estado de salida del último comando ejecutado en listao cero
si no se ejecutaron comandos.

case por el temor in [[(] patrón [ | patrón ] ...) lista ;; ] ... esac
A case el comando primero se expande por el temor y trata de compararlo con cada patrón in
a su vez, utilizando las mismas reglas de coincidencia que para la expansión de nombre de ruta (ver Nombre de ruta
Expansión debajo). los por el temor se expande usando expansión de tilde, parámetro y
expansión variable, sustitución aritmética, sustitución de comandos, proceso
sustitución y eliminación de cotizaciones. Cada patrón examinado se expande usando tilde
expansión, expansión de parámetros y variables, sustitución aritmética, comando
sustitución y sustitución de procesos. Si la opción de shell no hay coincidencia is
habilitado, la coincidencia se realiza sin tener en cuenta el caso de alfabético
caracteres. Cuando se encuentra una coincidencia, el correspondiente lista es ejecutado. Si el ;;
se utiliza el operador, no se intentan coincidencias posteriores después del primer patrón
fósforo. Utilizando ;& en lugar de ;; hace que la ejecución continúe con el lista
asociado con el siguiente conjunto de patrones. Utilizando ;; & en lugar de ;; causa el
shell para probar la siguiente lista de patrones en la declaración, si existe, y ejecutar cualquier
asociado lista en un partido exitoso. El estado de salida es cero si no hay patrón
partidos. De lo contrario, es el estado de salida del último comando ejecutado en lista.

if lista; luego lista; [ elif lista; luego lista; ] ... [ más lista; ] fi
El if lista es ejecutado. Si su estado de salida es cero, el luego lista es ejecutado.
De lo contrario, cada elif lista se ejecuta a su vez, y si su estado de salida es cero, el
correspondiente luego lista se ejecuta y el comando se completa. De lo contrario, el más
lista se ejecuta, si está presente. El estado de salida es el estado de salida del último
comando ejecutado, o cero si ninguna condición se comprobó como verdadera.

mientras lista-1; do lista-2; hecho
hasta lista-1; do lista-2; hecho
El mientras comando ejecuta continuamente la lista lista-2 siempre y cuando el último comando
en la lista lista-1 devuelve un estado de salida de cero. los hasta el comando es idéntico
En el correo electrónico “Su Cuenta de Usuario en su Nuevo Sistema XNUMXCX”. mientras comando, excepto que se niega la prueba; lista-2 se ejecuta siempre que
como el último comando en lista-1 devuelve un estado de salida distinto de cero. El estado de salida de
las mientras y hasta comandos es el estado de salida del último comando ejecutado en
lista-2, o cero si no se ejecutó ninguno.

Coprocesos
A coproceso es un comando de shell precedido por el coproceso palabra reservada. Un coproceso es
ejecutado de forma asincrónica en una subcapa, como si el comando se hubiera terminado con el &
operador de control, con una tubería de dos vías establecida entre el shell de ejecución y el
coproceso.

El formato de un coproceso es:

coproceso [NOMBRE] comando [redirecciones]

Esto crea un coproceso llamado NOMBRE. Si NOMBRE no se proporciona, el nombre predeterminado es COPROC.
NOMBRE no debe suministrarse si comando es un simples comando (véase más arriba); de lo contrario, es
interpretado como la primera palabra del comando simple. Cuando se ejecuta el coproceso, el
shell crea una variable de matriz (ver Matrices abajo) nombrado NOMBRE en el contexto de la
ejecutando shell. La salida estándar de comando está conectado a través de una tubería a un archivo
descriptor en el shell de ejecución, y ese descriptor de archivo se asigna a NOMBRE[0]. La
entrada estándar de comando está conectado a través de una tubería a un descriptor de archivo en la ejecución
shell, y ese descriptor de archivo se asigna a NOMBRE[1]. Esta tubería se establece antes
cualquier redirección especificada por el comando (ver REDIRECCION debajo). Los descriptores de archivo
se puede utilizar como argumentos para comandos de shell y redirecciones usando una palabra estándar
expansiones. Los descriptores de archivo no están disponibles en subcapas. El ID de proceso del
shell generado para ejecutar el coproceso está disponible como el valor de la variable NOMBRE_PID.
El esperar El comando incorporado se puede usar para esperar a que termine el coproceso.

Dado que el coproceso se crea como un comando asincrónico, el coproceso comando siempre
devuelve el éxito. El estado de retorno de un coproceso es el estado de salida de comando.

Cáscara Función Definiciones
Una función de shell es un objeto que se llama como un comando simple y ejecuta un compuesto
comando con un nuevo conjunto de parámetros posicionales. Las funciones de shell se declaran de la siguiente manera:

nombre () comando compuesto [redirección]
función nombre [()] comando compuesto [redirección]
Esto define una función llamada nombre . La palabra reservada función es opcional. Si
las función Se proporciona la palabra reservada, los paréntesis son opcionales. los cuerpo of
la función es el comando compuesto comando compuesto (consulta: Compuesto Comandos
encima). Ese comando suele ser un lista de comandos entre {y}, pero puede ser cualquier
comando enumerado bajo Compuesto Comandos anterior. comando compuesto es ejecutado
cuando nombre se especifica como el nombre de un comando simple. Cuando en POSIX modo,
nombre puede no ser el nombre de uno de los POSIX especial construidos. Cualquier redirección
(consulta: REDIRECCION a continuación) especificados cuando se define una función se realizan cuando el
se ejecuta la función. El estado de salida de una definición de función es cero a menos que un
Se produce un error de sintaxis o ya existe una función de solo lectura con el mismo nombre. Cuando
ejecutado, el estado de salida de una función es el estado de salida del último comando
ejecutado en el cuerpo. (Ver Las funciones abajo.)

COMENTARIOS


En un shell no interactivo, o un shell interactivo en el que el comentarios_interactivos
opción a la comprado incorporado está habilitado (ver SHELL INCORPORADO COMANDOS abajo), una palabra
empezando con # hace que esa palabra y todos los caracteres restantes en esa línea sean ignorados.
Un caparazón interactivo sin el comentarios_interactivos la opción habilitada no permite
comentarios. La comentarios_interactivos La opción está activada de forma predeterminada en los shells interactivos.

COTIZAR


Citando se utiliza para eliminar el significado especial de ciertos caracteres o palabras en el shell.
Las citas se pueden utilizar para deshabilitar el tratamiento especial de los caracteres especiales, para evitar
las palabras reservadas se reconozcan como tales y para evitar la expansión de parámetros.

Cada uno de los metacaracteres enumerados anteriormente en DEFINICIONES tiene un significado especial para el caparazón
y debe citarse si se quiere representar a sí mismo.

Cuando se utilizan las facilidades de expansión del historial de comandos (ver HISTORIA EXPANSIÓN
bajo el historia expansión personaje, por lo general !, debe citarse para evitar la historia
expansión.

Hay tres mecanismos de cotización: el escapar personaje, comillas simples y dobles
citas.

Una barra invertida sin comillas (\) Es la escapar personaje. Conserva el valor literal de la
siguiente carácter que sigue, con la excepción de . Si un \par
aparece, y la barra invertida no está citada, la \se trata como una línea
continuación (es decir, se elimina del flujo de entrada y se ignora efectivamente).

Incluir caracteres entre comillas simples conserva el valor literal de cada carácter dentro
Las citas. Una comilla simple no puede aparecer entre comillas simples, incluso cuando esté precedida por una
barra invertida.

Incluir caracteres entre comillas dobles conserva el valor literal de todos los caracteres dentro
las citas, con la excepción de $, `, \y, cuando la expansión del historial está habilitada, !.
personajes $ y ` conservan su significado especial entre comillas dobles. La barra invertida
conserva su significado especial solo cuando va seguido de uno de los siguientes caracteres: $, `,
", \o . Una comilla doble puede estar entre comillas dobles precediéndola
con una barra invertida. Si está habilitado, la expansión del historial se realizará a menos que ! apareciendo
entre comillas dobles se escapa usando una barra invertida. La barra invertida que precede al ! no es
eliminado.

Los parámetros especiales * y @ tienen un significado especial cuando están entre comillas dobles (ver PARÁMETROS
abajo).

Palabras de la forma $'cadena'son tratados especialmente. La palabra se expande a cadena, con las
Caracteres de escape con barra invertida reemplazados según lo especificado por el estándar ANSI C. Barra invertida
Las secuencias de escape, si están presentes, se decodifican de la siguiente manera:
\a alerta (campana)
\b Retroceso
\e
\E un personaje de escape
\f formulario de alimentación
\n nueva línea
\r retorno de carro
\t pestaña horizontal
\v pestaña vertical
\\ barra invertida
\' una frase
\" cita doble
\nnn el carácter de ocho bits cuyo valor es el valor octal nnn (uno a tres
dígitos)
\xHH el carácter de ocho bits cuyo valor es el valor hexadecimal HH (uno o dos
dígitos hexadecimales)
\uHhhh el carácter Unicode (ISO / IEC 10646) cuyo valor es el valor hexadecimal
Hhhh (de uno a cuatro dígitos hexadecimales)
\UHHHHHHHH
el carácter Unicode (ISO / IEC 10646) cuyo valor es el valor hexadecimal
HHHHHHHH (de uno a ocho dígitos hexadecimales)
\cx un control-x personaje

El resultado expandido está entre comillas simples, como si el signo de dólar no hubiera estado presente.

Una cadena entre comillas dobles precedida por un signo de dólar ($"cadena") hará que la cadena sea
traducido de acuerdo con la configuración regional actual. Si la configuración regional actual es C or POSIX, la
se ignora el signo de dólar. Si la cadena se traduce y reemplaza, el reemplazo es
entre comillas dobles.

PARÁMETROS


A parámetro es una entidad que almacena valores. Puede ser un nombre , un número o uno de los
caracteres especiales enumerados a continuación bajo Especiales parámetros. La variable es un parámetro
denotado por un nombre . Una variable tiene un propuesta de y cero o más atributos. Los atributos son
asignado usando el declarar comando incorporado (ver declarar abajo en SHELL INCORPORADO COMANDOS).

Un parámetro se establece si se le ha asignado un valor. La cadena nula es un valor válido.
Una vez que se establece una variable, sólo se puede desarmar mediante el uso de desarmado comando incorporado (ver SHELL
INCORPORADO COMANDOS abajo).

A variable puede ser asignado mediante una declaración de la forma

nombre =[propuesta de]

If propuesta de no se da, a la variable se le asigna la cadena nula. Todos valores someterse a tilde
expansión, expansión de parámetros y variables, sustitución de comandos, expansión aritmética,
y eliminación de cotizaciones (ver EXPANSIÓN debajo). Si la variable tiene su entero conjunto de atributos,
luego propuesta de se evalúa como una expresión aritmética incluso si la expansión $ ((...)) no es
usado (ver Aritmética Expansión debajo). La división de palabras no se realiza, con el
excepción de PS como se explica a continuación en Especiales parámetros. La expansión de nombre de ruta no es
realizado. Las declaraciones de asignación también pueden aparecer como argumentos a la alias, declarar,
compilado, exportar, solo lecturay local comandos incorporados. Cuando en POSIX modo, estas incorporaciones
puede aparecer en un comando después de una o más instancias del comando incorporado y retener
estas propiedades de la declaración de asignación.

En el contexto donde una declaración de asignación está asignando un valor a una variable de shell o
índice de matriz, el operador + = se puede usar para agregar o agregar a la variable anterior
valor. Cuando + = se aplica a una variable para la cual el entero se ha establecido el atributo,
propuesta de se evalúa como una expresión aritmética y se suma al valor actual de la variable,
que también se evalúa. Cuando + = se aplica a una variable de matriz usando compuesto
asignación (ver Matrices a continuación), el valor de la variable no está desarmado (como cuando se usa =),
y los nuevos valores se agregan a la matriz comenzando en uno mayor que el máximo de la matriz
index (para matrices indexadas) o agregadas como pares clave-valor adicionales en una matriz asociativa.
Cuando se aplica a una variable con valores de cadena, propuesta de se expande y se agrega a la variable
.

A una variable se le puede asignar el referencia del nombre atributo usando el -n opción a la declarar or
local comandos incorporados (consulte las descripciones de declarar y local a continuación) para crear un
referencia del nombreo una referencia a otra variable. Esto permite manipular variables
indirectamente. Siempre que se haga referencia a la variable nameref o se le asigne, la operación se
realmente realizado en la variable especificada por el valor de la variable nameref. Un nameref
se usa comúnmente dentro de las funciones de shell para referirse a una variable cuyo nombre se pasa como un
argumento de la función. Por ejemplo, si se pasa un nombre de variable a una función de shell
como su primer argumento, ejecutando
declare -n ref = $ 1
dentro de la función crea una variable nameref ref. cuyo valor es el nombre de la variable pasada
como primer argumento. Referencias y asignaciones a ref. se tratan como referencias y
asignaciones a la variable cuyo nombre se pasó como $1. Si la variable de control en un para
bucle tiene el atributo nameref, la lista de palabras puede ser una lista de variables de shell y un
Se establecerá una referencia de nombre para cada palabra de la lista, a su vez, cuando el bucle sea
ejecutado. A las variables de matriz no se les puede dar la -n atributo. Sin embargo, las variables nameref
puede hacer referencia a variables de matriz y variables de matriz subindicadas. Las referencias de nombre se pueden desarmar
usando el -n opción a la desarmado incorporado. De lo contrario, si desarmado se ejecuta con el nombre
de una variable nameref como argumento, la variable a la que hace referencia la variable nameref
estar desarmado.

Posicional parámetros
A posicional parámetro es un parámetro denotado por uno o más dígitos, que no sea el único
dígito 0. Los parámetros posicionales se asignan a partir de los argumentos del shell cuando se
invocado, y puede ser reasignado usando el set comando incorporado. Los parámetros posicionales pueden
no se asignará con declaraciones de asignación. Los parámetros posicionales son temporalmente
reemplazado cuando se ejecuta una función de shell (ver Las funciones abajo).

Cuando se expande un parámetro posicional que consta de más de un dígito, debe
encerrado entre llaves (ver EXPANSIÓN abajo).

Especiales parámetros
El shell trata varios parámetros de forma especial. Estos parámetros solo pueden ser referenciados;
la asignación a ellos no está permitida.
* Se expande a los parámetros posicionales, comenzando desde uno. Cuando la expansión no es
entre comillas dobles, cada parámetro posicional se expande a una palabra separada. En
contextos donde se realiza, esas palabras están sujetas a una mayor división de palabras
y expansión de nombre de ruta. Cuando la expansión ocurre entre comillas dobles, se expande
a una sola palabra con el valor de cada parámetro separado por el primer carácter
de las IFS variable especial. Es decir, "$*" es equivalente a "$1c$2c...", dónde c
es el primer carácter del valor de la IFS variable. Si IFS está desarmado, el
los parámetros están separados por espacios. Si IFS es nulo, los parámetros están unidos
sin separadores intermedios.
@ Se expande a los parámetros posicionales, comenzando desde uno. Cuando ocurre la expansión
entre comillas dobles, cada parámetro se expande a una palabra separada. Es decir, "$@"es
equivalente a "$1""$2"... Si la expansión entre comillas dobles se produce dentro de una palabra,
la expansión del primer parámetro se une con la parte inicial del
palabra original, y la expansión del último parámetro se une con la última parte
de la palabra original. Cuando no hay parámetros posicionales, "$@"Y $@ expandir
a nada (es decir, se eliminan).
# Se expande al número de parámetros posicionales en decimal.
? Se expande al estado de salida de la canalización en primer plano ejecutada más recientemente.
- Se expande a los indicadores de opción actual como se especifica en la invocación, por el set
comando incorporado, o los establecidos por el propio shell (como el -i opción).
$ Se expande al ID de proceso del shell. En una subcapa (), se expande al
ID de proceso del shell actual, no del subshell.
! Se expande al ID de proceso del trabajo colocado más recientemente en segundo plano,
ya sea ejecutado como un comando asincrónico o usando el bg incorporado (ver TRABAJO
CONTROL abajo).
0 Se expande al nombre del shell o script de shell. Esto se establece en shell
inicialización. Si golpear se invoca con un archivo de comandos, $0 se establece en el nombre
de ese archivo. Si golpear comienza con el -c opción, entonces $0 está configurado en el primer
argumento después de la cadena que se ejecutará, si hay uno presente. De lo contrario, se establece
al nombre de archivo utilizado para invocar golpear, como lo indica el argumento cero.
_ Al iniciar el shell, establezca el nombre de ruta absoluto utilizado para invocar el shell o el shell
el script se está ejecutando tal como se pasó en el entorno o en la lista de argumentos. Después,
se expande al último argumento del comando anterior, después de la expansión. También establecido en
el nombre de ruta completo utilizado para invocar cada comando ejecutado y colocado en el
entorno exportado a ese comando. Al comprobar el correo, este parámetro contiene la
nombre del archivo de correo que se está comprobando actualmente.

Cáscara Variables
El shell establece las siguientes variables:

BASH Se expande al nombre de archivo completo utilizado para invocar esta instancia de golpear.
BASTIDORES
Una lista separada por dos puntos de opciones de shell habilitadas. Cada palabra de la lista es válida.
argumento para el -s opción a la comprado comando incorporado (ver SHELL INCORPORADO COMANDOS
debajo). Las opciones que aparecen en BASTIDORES son los reportados como on by comprado. Si
esta variable está en el entorno cuando golpear se inicia, cada opción de shell en el
La lista se habilitará antes de leer los archivos de inicio. Esta variable es de solo lectura.
BASHPID
Se expande al ID de proceso del actual golpear proceso. Esto difiere de $$ bajo
determinadas circunstancias, como subcapas que no requieren golpear ser re
inicializado.
BASH_ALIASES
Una variable de matriz asociativa cuyos miembros corresponden a la lista interna de
alias mantenidos por el alias incorporado. Los elementos agregados a esta matriz aparecen en
la lista de alias; desarmar los elementos de la matriz hace que los alias se eliminen del alias
lista.
BASH_ARGC
Una variable de matriz cuyos valores son el número de parámetros en cada marco de la
corriente golpear pila de llamadas de ejecución. El número de parámetros al actual
subrutina (función de shell o script ejecutado con . or fuente) está en la parte superior de
la pila. Cuando se ejecuta una subrutina, el número de parámetros pasados ​​es
empujado sobre BASH_ARGC. El caparazón se pone BASH_ARGC solo cuando está en depuración extendida
modo (ver la descripción del extdebug opción a la comprado incorporado a continuación)
BASH_ARGV
Una variable de matriz que contiene todos los parámetros en el actual golpear ejecución
pila de llamadas. El parámetro final de la última llamada de subrutina está en la parte superior de la
apilar; el primer parámetro de la llamada inicial está en la parte inferior. Cuando una subrutina
se ejecuta, los parámetros proporcionados se insertan en BASH_ARGV. El caparazón se pone
BASH_ARGV sólo cuando está en modo de depuración extendido (consulte la descripción del extdebug
opción a la comprado incorporado a continuación)
BASH_CMDS
Una variable de matriz asociativa cuyos miembros corresponden a la tabla hash interna
de los comandos mantenidos por el hachís incorporado. Aparecen los elementos agregados a esta matriz
en la tabla hash; desarmar los elementos de la matriz hace que los comandos se eliminen del
tabla de picadillo.
BASH_COMMAND
El comando que se está ejecutando actualmente o que está a punto de ejecutarse, a menos que el shell esté
ejecutar un comando como resultado de una trampa, en cuyo caso es el comando
ejecutándose en el momento de la trampa.
BASH_EXECUTION_STRING
El argumento de comando para el -c opción de invocación.
BASH_LINENO
Una variable de matriz cuyos miembros son los números de línea en los archivos de origen donde cada
miembro correspondiente de NOMBRE DE FUNCIÓN fue invocado. $ {BASH_LINENO [$i]} es la linea
número en el archivo de origen ($ {BASH_SOURCE [$ i + 1]}) dónde $ {FUNCNAME [$i]} fue llamado
(o $ {BASH_LINENO [$ i-1]} si se hace referencia dentro de otra función de shell). Usar LINENO
para obtener el número de línea actual.
BASH_REMATCH
Una variable de matriz cuyos miembros son asignados por el =~ operador binario para el [[
comando condicional. El elemento con índice 0 es la parte de la cadena
coincidiendo con la expresión regular completa. El elemento con índice n es la porción de
la cadena que coincide con el nla subexpresión entre paréntesis. Esta variable se lee
solamente.
BASH_FUENTE
Una variable de matriz cuyos miembros son los nombres de archivo de origen donde el correspondiente
nombres de funciones de shell en el NOMBRE DE FUNCIÓN las variables de matriz están definidas. La cáscara
función $ {FUNCNAME [$i]} está definido en el archivo $ {BASH_SOURCE [$i]} y llamó desde
$ {BASH_SOURCE [$ i + 1]}.
BASH_SUBSHELL
Incrementado en uno dentro de cada subcapa o entorno de subcapa cuando el shell
comienza a ejecutar en ese entorno. El valor inicial es 0.
BASH_VERSINFO
Una variable de matriz de solo lectura cuyos miembros contienen información de versión para esta instancia
of golpear. Los valores asignados a los miembros de la matriz son los siguientes:
BASH_VERSINFO [0] El número de versión principal (el ,).
BASH_VERSINFO [1] El número de versión menor (el versión).
BASH_VERSINFO [2] El nivel de parche.
BASH_VERSINFO [3] La versión de compilación.
BASH_VERSINFO [4] El estado de liberación (p. Ej., beta1).
BASH_VERSINFO [5] El valor de TIPO DE MÁQUINA.
BASH_VERSION
Se expande a una cadena que describe la versión de esta instancia de golpear.
COMP_CWORD
Un índice en $ {COMP_WORDS} de la palabra que contiene la posición actual del cursor.
Esta variable está disponible solo en funciones de shell invocadas por el programable
instalaciones de terminación (ver Programable Cierre abajo).
COMP_CLAVE
La clave (o clave final de una secuencia de teclas) utilizada para invocar la finalización actual
función.
COMP_LINE
La línea de comando actual. Esta variable está disponible solo en funciones de shell y
comandos externos invocados por las funciones de finalización programables (ver
Programable Cierre abajo).
COMP_PUNTO
El índice de la posición actual del cursor en relación con el comienzo de la actual
mando. Si la posición actual del cursor está al final del comando actual, la
el valor de esta variable es igual a $ {# COMP_LINE}. Esta variable solo está disponible
en funciones de shell y comandos externos invocados por la finalización programable
instalaciones (ver Programable Cierre abajo).
COMP_TIPO
Se establece en un valor entero correspondiente al tipo de finalización que se intentó
provocó que se llamara a una función de finalización: TAB, para una finalización normal, ?, Para
enumerar finalizaciones después de pestañas sucesivas, !, para enumerar alternativas en parciales
completar palabras, @, para enumerar las terminaciones si la palabra no está sin modificar, o %, Para
finalización del menú. Esta variable está disponible solo en funciones de shell y externas
comandos invocados por las funciones de finalización programables (ver Programable
Cierre abajo).
COMP_WORDBREAKS
El conjunto de caracteres que el readline la biblioteca trata como separadores de palabras cuando
realizar la terminación de palabras. Si COMP_WORDBREAKS está desarmado, pierde su especial
propiedades, incluso si se restablece posteriormente.
PALABRAS_COMP
Una variable de matriz (ver Matrices a continuación) que consta de las palabras individuales en el
línea de comando actual. La línea se divide en palabras como readline lo dividiría,
usando COMP_WORDBREAKS como se describió anteriormente. Esta variable está disponible solo en shell
funciones invocadas por las facilidades de finalización programables (ver Programable
Cierre abajo).
COPROC Una variable de matriz (ver Matrices a continuación) creado para contener los descriptores de archivo para
salida y entrada a un coproceso sin nombre (ver Coprocesos encima).
pila de basura
Una variable de matriz (ver Matrices a continuación) que contiene el contenido actual de la
pila de directorio. Los directorios aparecen en la pila en el orden en que se muestran
según el dirs incorporado. La asignación a miembros de esta variable de matriz se puede utilizar para
modificar directorios que ya están en la pila, pero el pushd y popd las incorporaciones deben ser
utilizado para agregar y eliminar directorios. La asignación a esta variable no cambiará
el directorio actual. Si pila de basura está desarmado, pierde sus propiedades especiales, incluso
si se reinicia posteriormente.
IDUE Se expande al ID de usuario efectivo del usuario actual, inicializado al inicio del shell.
Esta variable es de solo lectura.
NOMBRE DE FUNCIÓN
Una variable de matriz que contiene los nombres de todas las funciones de shell actualmente en el
pila de llamadas de ejecución. El elemento con índice 0 es el nombre de cualquier
ejecutando la función de shell. El elemento más bajo (el que tiene el índice más alto)
es "principal". Esta variable existe solo cuando se está ejecutando una función de shell.
Asignaciones a NOMBRE DE FUNCIÓN no tienen ningún efecto y devuelven un estado de error. Si NOMBRE DE FUNCIÓN is
desarmado, pierde sus propiedades especiales, incluso si se restablece posteriormente.

Esta variable se puede utilizar con BASH_LINENO y BASH_FUENTE. Cada elemento de
NOMBRE DE FUNCIÓN tiene elementos correspondientes en BASH_LINENO y BASH_FUENTE para describir el
pila de llamadas. Por ejemplo, $ {FUNCNAME [$i]} fue llamado desde el archivo
$ {BASH_SOURCE [$ i + 1]} en el número de línea $ {BASH_LINENO [$i]}. llamador incorporado
muestra la pila de llamadas actual utilizando esta información.
GRUPOS Una variable de matriz que contiene la lista de grupos de los que el usuario actual es un
miembro. Asignaciones a GRUPOS no tienen ningún efecto y devuelven un estado de error. Si
GRUPOS está desarmado, pierde sus propiedades especiales, incluso si se restablece posteriormente.
HISTCMD
El número de historial, o índice en la lista de historial, del comando actual. Si
HISTCMD está desarmado, pierde sus propiedades especiales, incluso si posteriormente se
Reiniciar.
HOSTNAME
Establecido automáticamente en el nombre del host actual.
TIPO DE ANFITRIÓN
Establecido automáticamente en una cadena que describe de forma única el tipo de máquina en la que
golpear está ejecutando. El valor predeterminado depende del sistema.
LINENO Cada vez que se hace referencia a este parámetro, el shell sustituye un número decimal
que representa el número de línea secuencial actual (comenzando con 1) dentro de un script
o función. Cuando no está en un script o función, el valor sustituido no es
garantizado para ser significativo. Si LINENO está desarmado, pierde sus propiedades especiales,
incluso si se reinicia posteriormente.
TIPO DE MÁQUINA
Establecido automáticamente en una cadena que describe completamente el tipo de sistema en el que golpear is
ejecutando, en el estándar GNU cpu-empresa-sistema formato. El valor predeterminado es system-
dependiente.
ARCHIVOMAPA
Una variable de matriz (ver Matrices abajo) creado para contener el texto leído por el archivo de mapa
incorporado cuando no se proporciona un nombre de variable.
viejo El directorio de trabajo anterior según lo establecido por el cd mando.
OPTARG El valor del último argumento de opción procesado por el obtener opciones comando incorporado (ver
SHELL INCORPORADO COMANDOS abajo).
OPTAR El índice del siguiente argumento que será procesado por el obtener opciones comando incorporado (ver
SHELL INCORPORADO COMANDOS abajo).
OSTIPO Establecido automáticamente en una cadena que describe el sistema operativo en el que golpear is
ejecutando. El valor predeterminado depende del sistema.
ESTADO DE TUBO
Una variable de matriz (ver Matrices a continuación) que contiene una lista de valores de estado de salida de
los procesos en la canalización de primer plano ejecutada más recientemente (que puede contener
solo un comando).
PPID El ID de proceso del padre del shell. Esta variable es de solo lectura.
PWD El directorio de trabajo actual según lo establecido por el cd mando.
AZAR Cada vez que se hace referencia a este parámetro, se obtiene un número entero aleatorio entre 0 y 32767.
generado. La secuencia de números aleatorios se puede inicializar asignando un valor
a AZAR. Si AZAR está desarmado, pierde sus propiedades especiales, incluso si es
posteriormente reiniciar.
READLINE_LINE
Los contenidos de la readline búfer de línea, para usar con "bind -x" (ver SHELL INCORPORADO
COMANDOS abajo).
READLINE_POINT
La posición del punto de inserción en el readline búfer de línea, para usar con "bind
-x "(ver SHELL INCORPORADO COMANDOS abajo).
RESPUESTA Establecer en la línea de entrada leída por el leer comando incorporado cuando no hay argumentos
suministrado.
SECONDS
Cada vez que se hace referencia a este parámetro, el número de segundos desde el shell
se devuelve la invocación. Si se asigna un valor a SECONDS, el valor devuelto sobre
referencias posteriores es el número de segundos desde la asignación más el valor
asignado. Si SECONDS está desarmado, pierde sus propiedades especiales, incluso si es
posteriormente reiniciar.
COMPRAS
Una lista separada por dos puntos de opciones de shell habilitadas. Cada palabra de la lista es válida.
argumento para el -o opción a la set comando incorporado (ver SHELL INCORPORADO COMANDOS
debajo). Las opciones que aparecen en COMPRAS son los reportados como on by set -o. Si
esta variable está en el entorno cuando golpear se inicia, cada opción de shell en el
La lista se habilitará antes de leer los archivos de inicio. Esta variable es de solo lectura.
SHLVL Incrementado en uno cada vez que una instancia de golpear Está empezado.
UID Se expande al ID de usuario del usuario actual, inicializado al inicio del shell. Esta
la variable es de solo lectura.

El shell utiliza las siguientes variables. En algunos casos, golpear asigna un valor predeterminado
valor a una variable; estos casos se indican a continuación.

BASH_COMPAT
El valor se usa para establecer el nivel de compatibilidad del shell. Ver la descripción de
las comprado incorporado debajo debajo SHELL INCORPORADO COMANDOS para una descripción de la
varios niveles de compatibilidad y sus efectos. El valor puede ser un número decimal.
(por ejemplo, 4.2) o un número entero (por ejemplo, 42) correspondiente a la compatibilidad deseada
nivel. Si BASH_COMPAT está desarmado o configurado en la cadena vacía, el nivel de compatibilidad
se establece en el valor predeterminado para la versión actual. Si BASH_COMPAT se establece en un valor
que no es uno de los niveles de compatibilidad válidos, el shell imprime un error
mensaje y establece el nivel de compatibilidad por defecto para la versión actual.
Los niveles de compatibilidad válidos corresponden a las opciones de compatibilidad aceptadas por
las comprado incorporado que se describe a continuación (por ejemplo, compatible42 significa que 4.2 y 42 son
valores válidos). La versión actual también es un valor válido.
BASH_ENV
Si este parámetro se establece cuando golpear está ejecutando un script de shell, su valor es
interpretado como un nombre de archivo que contiene comandos para inicializar el shell, como en
~ / .bashrc. El valor de BASH_ENV está sujeto a expansión de parámetros, comando
sustitución y expansión aritmética antes de ser interpretado como un nombre de archivo.
TRAYECTORIA no se utiliza para buscar el nombre de archivo resultante.
BASH_XTRACEFD
Si se establece en un número entero correspondiente a un descriptor de archivo válido, golpear escribirá el
seguimiento de la salida generada cuando set -x está habilitado para ese descriptor de archivo. El archivo
el descriptor se cierra cuando BASH_XTRACEFD está desarmado o se le ha asignado un nuevo valor.
Inquietante BASH_XTRACEFD o asignarle la cadena vacía hace que la salida de seguimiento
ser enviado al error estándar. Tenga en cuenta que la configuración BASH_XTRACEFD a 2 (el estándar
descriptor de archivo de error) y luego desarmarlo resultará en el error estándar
estar cerrado.
CDPATH La ruta de búsqueda del cd mando. Esta es una lista de directorios separados por dos puntos.
en el que el shell busca directorios de destino especificados por el cd mando.
Un valor de muestra es ".: ~:/ usr".
NIÑO_MAX
Establezca el número de valores de estado secundario salidos para que el shell los recuerde. Bash will
no permitir que este valor se reduzca por debajo de un mínimo exigido por POSIX, y hay un
valor máximo (actualmente 8192) que no puede exceder. El valor mínimo es
dependiente del sistema.
COLUMNAS
Usado por el selecciona comando compuesto para determinar el ancho del terminal al imprimir
listas de selección. Establecido automáticamente si el comprobar tamaño ganador está habilitada o en una
shell interactivo al recibir un CABRESTANTE.
COMPLETAR
Una variable de matriz de la cual golpear lee las posibles terminaciones generadas por un
función de shell invocada por la función de finalización programable (ver Programable
Cierre debajo). Cada elemento de la matriz contiene una posible finalización.
EMACS If golpear encuentra esta variable en el entorno cuando el shell comienza con valor
"t", asume que el shell se está ejecutando en un búfer de shell de Emacs y deshabilita
edición de línea.
ENV Similar a BASH_ENV; se utiliza cuando se invoca el shell en modo POSIX.
FCEDIT El editor predeterminado para el fc comando incorporado.
FIGNORE
Una lista de sufijos separados por dos puntos para ignorar al completar el nombre de archivo
(consulta: LEER LÍNEA debajo). Un nombre de archivo cuyo sufijo coincide con una de las entradas en
FIGNORE se excluye de la lista de nombres de archivo coincidentes. Un valor de muestra es ".o: ~"
(Se necesitan comillas al asignar un valor a esta variable, que contiene tildes).
MÁS DIVERTIDO
Si se establece en un valor numérico mayor que 0, define un nivel máximo de anidamiento de funciones.
Las invocaciones de funciones que superan este nivel de anidamiento provocarán que el comando actual
abortar.
GLOBIGNORAR
Una lista de patrones separados por dos puntos que definen el conjunto de nombres de archivo que debe ignorar
expansión de nombre de ruta. Si un nombre de archivo coincide con un patrón de expansión de nombre de ruta también
coincide con uno de los patrones en GLOBIGNORAR, se elimina de la lista de coincidencias.
SU CONTROL
Una lista de valores separados por dos puntos que controlan cómo se guardan los comandos en el historial
lista. Si la lista de valores incluye ignora el espacio, líneas que comienzan con un espacio
los caracteres no se guardan en la lista del historial. Un valor de ignorar causa líneas
que coincida con la entrada anterior del historial para que no se guarde. Un valor de ignorar a ambos is
taquigrafía para ignora el espacio y ignorar. Un valor de borrados causa todo lo anterior
líneas que coinciden con la línea actual que se eliminarán de la lista del historial antes de eso
se guarda la línea. Se ignora cualquier valor que no esté en la lista anterior. Si SU CONTROL is
desarmado, o no incluye un valor válido, todas las líneas leídas por el analizador de shell son
guardado en la lista del historial, sujeto al valor de HISTORIA. El segundo y
Las líneas subsiguientes de un comando compuesto de varias líneas no se prueban y se agregan a
la historia independientemente del valor de SU CONTROL.
ARCHIVO HISTÓRICO
El nombre del archivo en el que se guarda el historial de comandos (consulte HISTORIA debajo). los
el valor predeterminado es ~ / .bash_history. Si no se configura, el historial de comandos no se guarda cuando
sale un proyectil.
TAMAÑOARCHIVOHIST
El número máximo de líneas contenidas en el archivo histórico. Cuando esta variable es
asignado un valor, el archivo histórico se trunca, si es necesario, para no contener más
que ese número de líneas eliminando las entradas más antiguas. El archivo de historial también es
truncado a este tamaño después de escribirlo cuando sale un shell. Si el valor es 0, el
El archivo de historial se trunca a tamaño cero. Valores no numéricos y valores numéricos menos
que cero inhiben el truncamiento. El shell establece el valor predeterminado en el valor de
SU TAMAÑO después de leer los archivos de inicio.
HISTORIA
Una lista de patrones separados por dos puntos que se utiliza para decidir qué líneas de comando deben
guardado en la lista del historial. Cada patrón está anclado al comienzo de la línea.
y debe coincidir con la línea completa (no implícita '*'se adjunta). Cada patrón es
probado contra la línea después de las comprobaciones especificadas por SU CONTROL se aplican. En
además de los caracteres de coincidencia de patrones de shell normales, `&'coincide con el anterior
línea de historia. '&'se puede escapar usando una barra invertida; se quita la barra invertida
antes de intentar un partido. La segunda línea y las siguientes de una línea múltiple.
Los comandos compuestos no se prueban y se agregan al historial independientemente de la
valor de HISTORIA.
SU TAMAÑO
El número de comandos para recordar en el historial de comandos (ver HISTORIA debajo). Si
el valor es 0, los comandos no se guardan en la lista del historial. Valores numéricos menos
que cero resulta en que cada comando se guarde en la lista del historial (no hay
límite). El shell establece el valor predeterminado en 500 después de leer los archivos de inicio.
FORMATO DE HORA
Si esta variable está establecida y no es nula, su valor se usa como una cadena de formato para
Strftime(3) para imprimir el sello de tiempo asociado con cada entrada del historial mostrada por
las historia incorporado. Si se establece esta variable, las marcas de tiempo se escriben en el
archivo de historial para que puedan conservarse en las sesiones de shell. Esto usa la historia
carácter de comentario para distinguir las marcas de tiempo de otras líneas del historial.
INICIO El directorio de inicio del usuario actual; el argumento predeterminado para el cd incorporado
mando. El valor de esta variable también se usa al realizar la expansión de tilde.
ARCHIVO DE HOSPITAL
Contiene el nombre de un archivo en el mismo formato que / etc / hosts eso debe ser leído
cuando el shell necesita completar un nombre de host. La lista de posibles nombres de host
las terminaciones se pueden cambiar mientras se ejecuta el shell; la próxima vez nombre de host
se intenta completar después de que se cambia el valor, golpear agrega el contenido de la
nuevo archivo a la lista existente. Si ARCHIVO DE HOSPITAL está establecido, pero no tiene valor o no
nombrar un archivo legible, golpear intenta leer / etc / hosts para obtener la lista de
posibles finalizaciones de nombres de host. Cuando ARCHIVO DE HOSPITAL no está configurado, la lista de nombres de host es
liquidado.
IFS El Interno Campo Separador que se utiliza para dividir palabras después de la expansión y para
dividir líneas en palabras con el leer comando incorporado. El valor predeterminado es
'' ''.
IGNORAR
Controla la acción de un shell interactivo al recibir un EOF personaje como el
entrada única. Si se establece, el valor es el número de consecutivos EOF personajes que
debe escribirse como los primeros caracteres en una línea de entrada antes golpear salidas. Si el
La variable existe pero no tiene un valor numérico, o no tiene ningún valor, el valor predeterminado
el valor es 10. Si no existe, EOF significa el final de la entrada al shell.
ENTRADARC
El nombre de archivo del readline archivo de inicio, anulando el valor predeterminado de ~ / .inputrc
(consulta: LEER LÍNEA abajo).
IDIOMA Se utiliza para determinar la categoría de configuración regional para cualquier categoría no seleccionada específicamente
con una variable que comienza con LC_.
LC_TODOS Esta variable anula el valor de IDIOMA y cualquier otro LC_ variable que especifica una
categoría de configuración regional.
LC_COLLATE
Esta variable determina el orden de clasificación utilizado al ordenar los resultados de
expansión de nombre de ruta, y determina el comportamiento de expresiones de rango, equivalencia
clases y secuencias de clasificación dentro de la expansión del nombre de ruta y la coincidencia de patrones.
LC_CTYPE
Esta variable determina la interpretación de personajes y el comportamiento de
clases de caracteres dentro de la expansión del nombre de ruta y la coincidencia de patrones.
LC_MENSAJES
Esta variable determina la configuración regional utilizada para traducir cadenas entre comillas dobles
precedido por un $.
LC_NUMERICO
Esta variable determina la categoría de configuración regional utilizada para el formato de números.
LÍNEAS Usado por el selecciona comando compuesto para determinar la longitud de la columna para imprimir
listas de selección. Establecido automáticamente si el comprobar tamaño ganador está habilitada o en una
shell interactivo al recibir un CABRESTANTE.
MAIL Si este parámetro se establece en un nombre de archivo o directorio y el RUTA DE CORREO variable es
no configurado, golpear informa al usuario de la llegada de correo en el archivo especificado o
Directorio en formato Maildir.
CORREO
Especifica la frecuencia (en segundos) golpear cheques por correo. El valor predeterminado es 60 segundos.
Cuando llega el momento de comprobar si hay correo, el shell lo hace antes de mostrar el
inmediato. Si esta variable no está establecida o se establece en un valor que no es un número mayor
igual o superior a cero, el shell deshabilita la comprobación de correo.
RUTA DE CORREO
Una lista de nombres de archivo separados por dos puntos que se deben verificar para el correo. El mensaje a ser
impreso cuando llega el correo en un archivo en particular puede especificarse separando los
nombre de archivo del mensaje con un `? '. Cuando se usa en el texto del mensaje, $_
se expande al nombre del archivo de correo actual. Ejemplo:
RUTA DE CORREO= '/ var / mail / bfox? "Tienes correo":~ / correo-shell? "$ _ tiene correo!" '
Comandos de Bash proporciona un valor predeterminado para esta variable, pero la ubicación del correo del usuario
archivos que utiliza depende del sistema (p. ej., / var / mail /$ USUARIO).
OPTERR Si se establece en el valor 1, golpear muestra mensajes de error generados por el obtener opciones
comando incorporado (ver SHELL INCORPORADO COMANDOS abajo). OPTERR se inicializa a 1
cada vez que se invoca el shell o se ejecuta un script de shell.
TRAYECTORIA La ruta de búsqueda de comandos. Es una lista de directorios separados por dos puntos en los que
el shell busca comandos (ver COMANDO EJECUCIÓN debajo). Una longitud cero (nula)
nombre de directorio en el valor de TRAYECTORIA indica el directorio actual. Un nulo
El nombre del directorio puede aparecer como dos dos puntos adyacentes, o como una inicial o al final.
colon. La ruta predeterminada depende del sistema y la establece el administrador que
instala golpear. Un valor común es ''/ usr / local / bin:/ usr / local / sbin:/ usr / bin:
/ usr / sbin:/compartimiento:/ sbin''.
POSIXLY_CORRECT
Si esta variable está en el entorno cuando golpear comienza, la cáscara entra POSIX
modo antes de leer los archivos de inicio, como si el --posix la opción de invocación había sido
suministrado. Si se establece mientras se ejecuta el shell, golpear permite POSIX modo, como si
el comando set -o POSIX había sido ejecutado.
PROMPT_COMMAND
Si se establece, el valor se ejecuta como un comando antes de emitir cada indicador principal.
PROMPT_DIRTRIM
Si se establece en un número mayor que cero, el valor se usa como el número de seguimiento
componentes de directorio para retener al expandir el \w y \W escape de cadena rápida
(consulta: INCITACIÓN debajo). Los caracteres eliminados se reemplazan con puntos suspensivos.
PS1 El valor de este parámetro se expande (ver INCITACIÓN a continuación) y se utiliza como
cadena de solicitud primaria. El valor predeterminado es ''\ s- \ v \ $ ''.
PS2 El valor de este parámetro se expande como con PS1 y usado como secundario
cadena de solicitud. El valor predeterminado es ''> ''.
PS3 El valor de este parámetro se utiliza como solicitud de la selecciona comando (ver SHELL
GRAMÁTICA encima).
PS4 El valor de este parámetro se expande como con PS1 y el valor se imprime antes
cada comando golpear se muestra durante un seguimiento de ejecución. El primer personaje de PS4
se replica varias veces, según sea necesario, para indicar múltiples niveles de
indirección. El valor predeterminado es ''+ ''.
SHELL El nombre de ruta completo al shell se mantiene en esta variable de entorno. Si no es
establecer cuando comienza la cáscara, golpear le asigna el nombre de ruta completo de la actual
shell de inicio de sesión del usuario.
FORMATO DE TIEMPO
El valor de este parámetro se usa como una cadena de formato que especifica cómo la sincronización
información para tuberías con el prefijo equipo Se debe mostrar la palabra reservada.
El % carácter introduce una secuencia de escape que se expande a un valor de tiempo o
otra información. Las secuencias de escape y sus significados son los siguientes; los
las llaves denotan porciones opcionales.
%% Un literal %.
%[p] [l] R El tiempo transcurrido en segundos.
%[p] [l] U La cantidad de segundos de CPU que se pasan en modo de usuario.
%[p] [l] S La cantidad de segundos de CPU empleados en el modo de sistema.
%P El porcentaje de CPU, calculado como (% U +% S) /% R.

La opción p es un dígito que especifica el precisión, el número de dígitos fraccionarios
después de un punto decimal. Un valor de 0 hace que no haya punto decimal o fracción.
producción. Se pueden especificar como máximo tres lugares después del punto decimal; valores de p
mayores que 3 se cambian a 3. Si p no se especifica, se utiliza el valor 3.

La opción l especifica un formato más largo, incluidos los minutos, de la forma MMmSS.FFs.
El valor de p determina si se incluye o no la fracción.

Si esta variable no está configurada, golpear actúa como si tuviera el valor
$ '\ nreal \ t% 3lR \ nusuario \ t% 3lU \ nsys \ t% 3lS'. Si el valor es nulo, no hay tiempo
se muestra la información. Se agrega una nueva línea al final cuando la cadena de formato es
desplegado.
TMOUT Si se establece en un valor mayor que cero, TMOUT se trata como el tiempo de espera predeterminado para
las leer incorporado. los selecciona El comando termina si la entrada no llega después
TMOUT segundos cuando la entrada proviene de un terminal. En un caparazón interactivo, el
El valor se interpreta como el número de segundos que se esperará por una línea de entrada después de
emitir el mensaje principal. Comandos de Bash termina después de esperar ese número de
segundos si no llega una línea completa de entrada.
TMPDIR Si está configurado, golpear usa su valor como el nombre de un directorio en el que golpear crea
archivos temporales para el uso del shell.
reanudar_automáticamente
Esta variable controla cómo interactúa el shell con el usuario y el control del trabajo. Si
esta variable está configurada, se tratan los comandos simples de una sola palabra sin redirecciones
como candidatos para la reanudación de un trabajo detenido existente. No hay ambigüedad
permitido; si hay más de un trabajo que comienza con la cadena escrita, el trabajo
Se selecciona el acceso más reciente. los nombre de un trabajo detenido, en este contexto, es
la línea de comando utilizada para iniciarlo. Si se establece en el valor exacto, la cadena suministrada
debe coincidir exactamente con el nombre de un trabajo detenido; si se establece en subcadena, la cuerda
suministrado debe coincidir con una subcadena del nombre de un trabajo detenido. los subcadena
El valor proporciona una funcionalidad análoga a la %? identificador de trabajo (ver TRABAJO CONTROL
debajo). Si se establece en cualquier otro valor, la cadena proporcionada debe ser un prefijo de un
nombre del trabajo detenido; esto proporciona una funcionalidad análoga a la %cadena trabajo
identificador.
histchars
Los dos o tres personajes que controlan la expansión de la historia y la tokenización (ver
HISTORIA EXPANSIÓN debajo). El primer carácter es el historia expansión personaje,
el personaje que señala el inicio de una expansión de la historia, normalmente `!'. los
el segundo personaje es el rápido sustitución carácter, que se utiliza como taquigrafía
para volver a ejecutar el comando anterior ingresado, sustituyendo una cadena por otra en
El comando. El valor predeterminado es '^'. El tercer carácter opcional es el carácter
que indica que el resto de la línea es un comentario cuando se encuentra como el primer
carácter de una palabra, normalmente '#'. El carácter de comentario de historia causa historia.
sustitución para omitir las palabras restantes en la línea. No es asi
necesariamente hace que el analizador de shell trate el resto de la línea como un comentario.

Matrices
Comandos de Bash proporciona variables de matriz unidimensionales indexadas y asociativas. Cualquier variable puede
usarse como una matriz indexada; los declarar builtin declarará explícitamente una matriz. Allí
no hay un límite máximo en el tamaño de una matriz, ni ningún requisito de que los miembros estén indexados
o asignados de forma contigua. Las matrices indexadas se referencian mediante números enteros (incluidos
expresiones aritméticas) y son de base cero; las matrices asociativas se referencian usando
cadenas arbitrarias. A menos que se indique lo contrario, los índices de matriz indexada no deben ser negativos
enteros.

Una matriz indexada se crea automáticamente si se asigna alguna variable para usar la sintaxis
nombre [subíndice]=propuesta de. subíndice se trata como una expresión aritmética que debe
evaluar a un número. Para declarar explícitamente una matriz indexada, use declarar -a nombre (consulta:
SHELL INCORPORADO COMANDOS abajo). declarar -a nombre [subíndice] también se acepta; los subíndice
se ignora.

Las matrices asociativas se crean utilizando declarar -A nombre .

Los atributos se pueden especificar para una variable de matriz utilizando el declarar y solo lectura incorporados.
Cada atributo se aplica a todos los miembros de una matriz.

Las matrices se asignan para usar asignaciones compuestas del formulario nombre =(propuesta de1 ... valorn),
donde cada propuesta de tiene la forma [subíndice]=cadena. Las asignaciones de matrices indexadas no
requiere cualquier cosa menos cadena. Al asignar a matrices indexadas, si los corchetes opcionales
y se proporcionan subíndices, a los que se asigna ese índice; de lo contrario, el índice del elemento
asignado es el último índice asignado por la declaración más uno. La indexación comienza en
cero.

Al asignar a una matriz asociativa, se requiere el subíndice.

Esta sintaxis también es aceptada por declarar incorporado. Los elementos individuales de la matriz pueden ser
asignado a usar el nombre [subíndice]=propuesta de sintaxis introducida anteriormente. Al asignar a un
matriz indexada, si nombre está subindicado por un número negativo, ese número se interpreta como
relativo a uno mayor que el índice máximo de nombre , entonces los índices negativos cuentan hacia atrás
desde el final de la matriz, y un índice de -1 hace referencia al último elemento.

Se puede hacer referencia a cualquier elemento de una matriz usando $ {nombre [subíndice]}. Los tirantes son
necesario para evitar conflictos con la expansión del nombre de ruta. Si subíndice is @ or *, la palabra
se expande a todos los miembros de nombre . Estos subíndices difieren solo cuando la palabra aparece dentro
doble comillas. Si la palabra está entre comillas dobles, $ {nombre [*]} se expande a una sola palabra con la
valor de cada miembro de la matriz separados por el primer carácter de la IFS variable especial,
y $ {nombre [@]} expande cada elemento de nombre a una palabra separada. Cuando no hay matriz
miembros, $ {nombre [@]} se expande a la nada. Si la expansión entre comillas dobles ocurre dentro de un
palabra, la expansión del primer parámetro se une con la parte inicial de la
palabra original, y la expansión del último parámetro se une con la última parte del
palabra original. Esto es análogo a la expansión de los parámetros especiales. * y @ (consulta:
Especiales parámetros encima). PSnombre [subíndice]} se expande a la longitud de
${nombre [subíndice]}. Si subíndice is * or @, la expansión es el número de elementos en
la matriz. Hacer referencia a una variable de matriz sin un subíndice es equivalente a hacer referencia
la matriz con un subíndice de 0. Si el subíndice utilizado para hacer referencia a un elemento de un
matriz indexada se evalúa como un número menor que cero, se interpreta como relativo a uno
mayor que el índice máximo de la matriz, por lo que los índices negativos cuentan desde el final
de la matriz, y un índice de -1 hace referencia al último elemento.

Una variable de matriz se considera establecida si a un subíndice se le ha asignado un valor. El nulo
cadena es un valor válido.

Es posible obtener las claves (índices) de una matriz así como los valores.
${!nombre [@]} y $ {!nombre [*]} expandir a los índices asignados en la variable de matriz nombre .
el tratamiento cuando está entre comillas dobles es similar a la expansión de los parámetros especiales @
y * entre comillas dobles.

El desarmado builtin se utiliza para destruir matrices. desarmado nombre [subíndice] destruye la matriz
elemento en el índice subíndice. Los subíndices negativos de las matrices indexadas se interpretan como
descrito arriba. Se debe tener cuidado para evitar efectos secundarios no deseados causados ​​por el nombre de ruta.
expansión. desarmado nombre , Donde nombre es una matriz, o desarmado nombre [subíndice], dónde subíndice
is * or @, elimina toda la matriz.

El declarar, localy solo lectura incorporados cada uno acepta un -a opción para especificar un indexado
matriz y una -A opción para especificar una matriz asociativa. Si se proporcionan ambas opciones, -A
toma precedencia. los leer incorporado acepta un -a opción para asignar una lista de palabras leídas
de la entrada estándar a una matriz. los set y declarar incorporados muestran valores de matriz en
una forma que permite reutilizarlos como asignaciones.

EXPANSIÓN


La expansión se realiza en la línea de comando después de que se ha dividido en palabras. Existen
siete tipos de expansión realizados: ascuas expansión, tilde expansión, parámetro y
variable expansión, comando sustitución, aritmética expansión, por el temor terribley
ruta expansión.

El orden de las expansiones es: expansión de abrazaderas; expansión de tilde, parámetro y variable
expansión, expansión aritmética y sustitución de comandos (hecho de izquierda a derecha
Moda); división de palabras; y expansión de nombre de ruta.

En los sistemas que pueden admitirlo, hay una expansión adicional disponible:
sustitución. Esto se realiza al mismo tiempo que tilde, parámetro, variable y
expansión aritmética y sustitución de comandos.

Solo la expansión de llaves, la división de palabras y la expansión del nombre de ruta pueden cambiar el número de
palabras de la expansión; otras expansiones expanden una sola palabra a una sola palabra. El único
las excepciones a esto son las expansiones de "$@"Y"${nombre [@]}"como se explicó anteriormente (ver
PARÁMETROS).

Abrazadera Expansión
Abrazadera expansión es un mecanismo mediante el cual se pueden generar cadenas arbitrarias. Esta
mecanismo es similar a ruta expansión, pero no es necesario que existan los nombres de archivo generados.
Los patrones que se van a expandir con abrazadera toman la forma de un preámbulo, seguido de un
serie de cadenas separadas por comas o una expresión de secuencia entre un par de llaves,
seguido de un opcional posdata. El preámbulo se antepone a cada cadena contenida
entre llaves, y la posdata luego se agrega a cada cadena resultante, expandiendo
de izquierda a derecha.

Las expansiones de las riostras pueden estar anidadas. Los resultados de cada cadena expandida no se ordenan; izquierda
se conserva el orden correcto. Por ejemplo, un{d, c, b}e se expande en 'ade ace abe'.

Una expresión de secuencia toma la forma {x..y[..aumentar]}, Donde x y y son enteros o
caracteres individuales, y aumentar, un incremento opcional, es un número entero. Cuando los enteros son
suministrado, la expresión se expande a cada número entre x y y, inclusive. Suministrado
los números enteros pueden tener el prefijo 0 para forzar que cada término tenga el mismo ancho. Cuando cualquiera x
or y comienza con un cero, el shell intenta forzar a todos los términos generados a contener el
mismo número de dígitos, relleno de ceros cuando sea necesario. Cuando se proporcionan caracteres, el
expresión se expande a cada carácter lexicográficamente entre x y y, inclusive, usando
la configuración regional C predeterminada. Tenga en cuenta que ambos x y y debe ser del mismo tipo. Cuando el
se proporciona el incremento, se utiliza como la diferencia entre cada término. El valor por defecto
el incremento es 1 o -1 según corresponda.

La expansión de llaves se realiza antes que cualquier otra expansión, y cualquier personaje especial para
otras expansiones se conservan en el resultado. Es estrictamente textual. Comandos de Bash no
aplicar cualquier interpretación sintáctica al contexto de la expansión o al texto entre los
tirantes.

Una expansión de riostra correctamente formada debe contener riostras de apertura y cierre sin comillas, y
al menos una coma sin comillas o una expresión de secuencia válida. Cualquier aparato ortopédico formado incorrectamente
la expansión se deja sin cambios. A { or , se puede citar con una barra invertida para evitar que se
considerado parte de una expresión de llave. Para evitar conflictos con la expansión de parámetros, el
cadena ${ no se considera elegible para la expansión del corsé.

Esta construcción se usa típicamente como abreviatura cuando el prefijo común de las cadenas
generado es más largo que en el ejemplo anterior:

mkdir / usr / local / src / bash / {antiguo, nuevo, dist, errores}
or
raíz de chown / usr /{ucb / {ex, edit}, lib / {ex?.? *, how_ex}}

La expansión de llaves introduce una ligera incompatibilidad con las versiones históricas de sh. sh
no trata las llaves de apertura o cierre especialmente cuando aparecen como parte de una palabra, y
los conserva en la salida. Comandos de Bash elimina las llaves de las palabras como consecuencia de la llave
expansión. Por ejemplo, una palabra ingresada para sh as archivo {1,2} aparece idénticamente en el
producción. Se emite la misma palabra como file1 file2 después de la expansión por golpear. Si es estricto
compatibilidad con sh es deseado, comience golpear con el +B opción o deshabilitar la expansión de la abrazadera
con el +B opción a la set comando (ver SHELL INCORPORADO COMANDOS abajo).

tilde Expansión
Si una palabra comienza con un carácter tilde sin comillas (`~'), todos los caracteres que preceden
la primera barra sin comillas (o todos los caracteres, si no hay una barra sin comillas) se consideran
a tilde-prefijo. Si no se cita ninguno de los caracteres del prefijo de tilde, los caracteres
en el prefijo de tilde que sigue a la tilde se tratan como posibles Inicie sesión nombre . Si esto
el nombre de inicio de sesión es la cadena nula, la tilde se reemplaza con el valor del parámetro de shell
INICIO. Si INICIO no está configurado, el directorio de inicio del usuario que ejecuta el shell se sustituye
en lugar de. De lo contrario, el prefijo de tilde se reemplaza con el directorio de inicio asociado con
el nombre de inicio de sesión especificado.

Si el prefijo de tilde es un `~ + ', el valor de la variable de shell PWD reemplaza la tilde-
prefijo. Si el prefijo de tilde es un `~ - ', el valor de la variable de shell viejo, si esto es
conjunto, se sustituye. Si los caracteres que siguen a la tilde en el prefijo de tilde consisten en
un número N, opcionalmente prefijado por un `+ 'o un` -', el prefijo de tilde se reemplaza con el
elemento correspondiente de la pila de directorios, como lo mostraría el dirs
incorporado invocado con el prefijo tilde como argumento. Si los caracteres que siguen al
La tilde en el prefijo de tilde consiste en un número sin un `+ 'o` -' inicial, `+ 'es
ficticio.

Si el nombre de inicio de sesión no es válido o la expansión de tilde falla, la palabra no se modifica.

Cada asignación de variable se comprueba en busca de prefijos de tilde sin comillas inmediatamente después de un :
o el primero =. En estos casos, también se realiza la expansión de tilde. En consecuencia, uno puede
usar nombres de archivo con tildes en asignaciones para TRAYECTORIA, RUTA DE CORREOy CDPATHy el caparazón
asigna el valor expandido.

Parámetro Expansión
El '$El carácter 'introduce expansión de parámetros, sustitución de comandos o aritmética
expansión. El nombre o símbolo del parámetro que se va a expandir puede ir entre llaves, que
son opcionales pero sirven para proteger la variable que se expandirá de los caracteres inmediatamente
siguiéndolo, lo que podría interpretarse como parte del nombre.

Cuando se utilizan llaves, la llave final coincidente es la primera}'no escapado por un
barra invertida o dentro de una cadena entre comillas, y no dentro de una expansión aritmética incrustada,
sustitución de comandos o expansión de parámetros.

${parámetro}
El valor de parámetro se sustituye. Los frenillos son necesarios cuando parámetro es un
parámetro posicional con más de un dígito, o cuando parámetro es seguido por un
carácter que no debe interpretarse como parte de su nombre. los parámetro es un
parámetro de shell como se describe arriba PARÁMETROS) o una referencia de matriz (Matrices).

Si el primer carácter de parámetro es un signo de exclamación!), introduce un nivel de
indirección variable. Comandos de Bash utiliza el valor de la variable formada a partir del resto de
parámetro como el nombre de la variable; esta variable luego se expande y ese valor es
utilizado en el resto de la sustitución, en lugar del valor de parámetro sí mismo. Este es
conocido como indirecto expansión. Las excepciones a esto son las expansiones de $ {!prefijo*} y
${!nombre [@]} descrito abajo. El signo de exclamación debe seguir inmediatamente a la llave izquierda
para introducir la indirección.

En cada uno de los casos siguientes, por el temor está sujeto a expansión de tilde, expansión de parámetros,
sustitución de comandos y expansión aritmética.

Cuando no realice la expansión de subcadenas, utilice los formularios que se documentan a continuación (p. Ej., :-), golpear
prueba un parámetro que no está establecido o es nulo. Omitir los resultados del colon solo en una prueba
para un parámetro que no está configurado.

${parámetro:-por el temor }
Uso Predeterminado Valores. Si parámetro no está establecido o es nulo, la expansión de por el temor is
sustituido. De lo contrario, el valor de parámetro se sustituye.
${parámetro:=por el temor }
Asignar Predeterminado Valores. Si parámetro no está establecido o es nulo, la expansión de por el temor is
asignado a parámetro. El valor de parámetro luego se sustituye. Posicional
los parámetros y los parámetros especiales no pueden asignarse de esta manera.
${parámetro:?por el temor }
Pantalla Error if Nulo or Desarmado. Si parámetro es nula o desarmada, la expansión de
por el temor (o un mensaje a tal efecto si por el temor no está presente) está escrito en el
error estándar y el shell, si no es interactivo, sale. De lo contrario, el
valor de parámetro se sustituye.
${parámetro:+por el temor }
Uso Suplente Valor. Si parámetro es nulo o desarmado, no se sustituye nada,
de lo contrario, la expansión de por el temor se sustituye.
${parámetro:compensar}
${parámetro:compensar:de largo}
Subcadena Expansión. Se expande hasta de largo caracteres del valor de parámetro
comenzando en el carácter especificado por compensar. Si parámetro is @, una matriz indexada
suscrito por @ or *, o un nombre de matriz asociativa, los resultados difieren como
descrito abajo. Si de largo se omite, se expande a la subcadena del valor de
parámetro comenzando en el carácter especificado por compensar y extendiéndose hasta el final de
el valor. de largo y compensar son expresiones aritméticas (ver ARITMÉTICA IMPACTO
abajo).

If compensar evalúa a un número menor que cero, el valor se utiliza como un desplazamiento en
caracteres desde el final del valor de parámetro. Si de largo evalúa a un número
menor que cero, se interpreta como un desplazamiento en caracteres desde el final del
valor de parámetro en lugar de varios personajes, y la expansión es la
personajes entre compensar y ese resultado. Tenga en cuenta que un desplazamiento negativo debe ser
separado del colon por al menos un espacio para evitar ser confundido con el :-
expansión.

If parámetro is @, el resultado es de largo parámetros posicionales que comienzan en compensar.
Un negativo compensar se toma en relación con uno mayor que el mayor posicional
parámetro, por lo que un desplazamiento de -1 se evalúa como el último parámetro posicional. Es un
error de expansión si de largo evalúa a un número menor que cero.

If parámetro es un nombre de matriz indexado subindicado por @ o *, el resultado es el
de largo miembros de la matriz que comienzan con $ {parámetro[compensar]}. Un negativo compensar
se toma en relación con uno mayor que el índice máximo de la matriz especificada. Eso
es un error de expansión si de largo evalúa a un número menor que cero.

La expansión de subcadenas aplicada a una matriz asociativa produce resultados indefinidos.

La indexación de subcadenas se basa en cero a menos que se utilicen los parámetros posicionales, en
cuyo caso la indexación comienza en 1 por defecto. Si compensar es 0, y el posicional
se utilizan parámetros, $0 se antepone a la lista.

${!prefijo*}
${!prefijo@}
nombres pareo prefijo. Se expande a los nombres de las variables cuyos nombres comienzan con
prefijo, separados por el primer carácter del IFS variable especial. Cuando @ is
utilizado y la expansión aparece entre comillas dobles, cada nombre de variable se expande a
una palabra separada.

${!nombre [@]}
${!nombre [*]}
Lista of matriz claves. Si nombre es una variable de matriz, se expande a la lista de matriz
índices (claves) asignados en nombre . Si nombre no es una matriz, se expande a 0 si nombre is
set y null de lo contrario. Cuando @ se utiliza y la expansión aparece dentro del doble
comillas, cada tecla se expande a una palabra separada.

${#parámetro}
Parámetro de largo. La longitud en caracteres del valor de parámetro is
sustituido. Si parámetro is * or @, el valor sustituido es el número de
parámetros posicionales. Si parámetro es un nombre de matriz subindicado por * or @, la
el valor sustituido es el número de elementos de la matriz. Si parámetro es un
nombre de matriz indexado subindicado por un número negativo, ese número se interpreta como
relativo a uno mayor que el índice máximo de parámetro, índices tan negativos
contar desde el final de la matriz, y un índice de -1 hace referencia a la última
.

${parámetro#por el temor }
${parámetro##por el temor }
Eliminar pareo prefijo patrón. por el temor se expande para producir un patrón tal como
en la expansión del nombre de ruta. Si el patrón coincide con el comienzo del valor de
parámetro, entonces el resultado de la expansión es el valor expandido de parámetro
el patrón coincidente más corto (el ''#'' caso) o el patrón coincidente más largo (el
``##'' caso) eliminado. Si parámetro is @ or *, la operación de eliminación del patrón es
aplicado a cada parámetro posicional a su vez, y la expansión es la resultante
lista. Si parámetro es una variable de matriz subindicada con @ or *, el patrón
La operación de eliminación se aplica a cada miembro de la matriz a su vez, y la expansión
es la lista resultante.

${parámetro%por el temor }
${parámetro%%por el temor }
Eliminar pareo sufijo patrón. por el temor se expande para producir un patrón tal como
en la expansión del nombre de ruta. Si el patrón coincide con una parte final del expandido
valor de parámetro, entonces el resultado de la expansión es el valor expandido de
parámetro con el patrón coincidente más corto (el ''%'' caso) o el más largo
patrón a juego (el ''%%'' caso) eliminado. Si parámetro is @ or *, el patrón
La operación de eliminación se aplica a cada parámetro posicional por turno, y la
expansión es la lista resultante. Si parámetro es una variable de matriz subindicada
@ or *, la operación de eliminación del patrón se aplica a cada miembro de la matriz
a su vez, y la expansión es la lista resultante.

${parámetro/patrón/cadena}
Patrón de Costura sustitución. patrón se expande para producir un patrón como en
expansión de nombre de ruta. Parámetro se amplía y la coincidencia más larga de patrón en contra
su valor se reemplaza con cadena. Si patrón empieza con /, todos los partidos de
patrón son reemplazados por cadena. Normalmente, solo se reemplaza la primera coincidencia. Si
patrón empieza con #, debe coincidir al comienzo del valor expandido de
parámetro. Si patrón empieza con %, debe coincidir al final de la expansión
valor de parámetro. Si cadena es nulo, coincide con patrón se eliminan y el /
siguiendo patrón puede omitirse. Si parámetro is @ or *, la sustitucion
La operación se aplica a cada parámetro posicional a su vez, y la expansión es la
lista resultante. Si parámetro es una variable de matriz subindicada con @ or *, la
La operación de sustitución se aplica a cada miembro de la matriz a su vez, y la
expansión es la lista resultante.

${parámetro^patrón}
${parámetro^^patrón}
${parámetro,patrón}
${parámetro,,patrón}
Funda modificación. Esta expansión modifica el caso de los caracteres alfabéticos en
parámetro. patrón se expande para producir un patrón como en el nombre de la ruta
expansión. Cada carácter en el valor expandido de parámetro se prueba contra
patróny, si coincide con el patrón, se convierte su caso. El patrón debe
no intente hacer coincidir más de un carácter. los ^ operador convierte minúsculas
coincidencia de letras patrón a mayúsculas; los , el operador convierte la coincidencia en mayúsculas
letras a minúsculas. los ^^ y ,, expansiones convierten cada carácter coincidente en
el valor expandido; los ^ y , las expansiones coinciden y convierten solo las primeras
carácter en el valor expandido. Si patrón se omite, se trata como un ?,
que coincide con todos los personajes. Si parámetro is @ or *, la modificación del caso
La operación se aplica a cada parámetro posicional a su vez, y la expansión es la
lista resultante. Si parámetro es una variable de matriz subindicada con @ or *, la
La operación de modificación de casos se aplica a cada miembro de la matriz por turno, y la
expansión es la lista resultante.

Comando Sustitución
Comando sustitución permite que la salida de un comando reemplace el nombre del comando. Allí
son dos formas:

$(comando)
or
`comando`

Comandos de Bash realiza la expansión ejecutando comando y reemplazando la sustitución del comando
con la salida estándar del comando, con cualquier nueva línea final eliminada. Incorporado
las nuevas líneas no se eliminan, pero pueden eliminarse durante la división de palabras. El comando
sustitución $ (gato presentar) puede ser reemplazado por el equivalente pero más rápido PS presentar).

Cuando se utiliza la forma de sustitución de comillas inversas de estilo antiguo, la barra invertida conserva su literal
significado excepto cuando es seguido por $, `o \. La primera cita inversa no precedida por una
barra invertida finaliza la sustitución del comando. Cuando se usa $ (comando) forma, todo
los caracteres entre paréntesis forman el comando; ninguno es tratado especialmente.

Las sustituciones de comandos pueden estar anidadas. Para anidar cuando se usa la forma entre comillas inversas, escape el
comillas inversas internas con barras invertidas.

Si la sustitución aparece entre comillas dobles, división de palabras y expansión de nombre de ruta
no se realizan sobre los resultados.

Aritmética Expansión
La expansión aritmética permite la evaluación de una expresión aritmética y la
sustitución del resultado. El formato para la expansión aritmética es:

PSexpresión))

El formato antiguo $[expresión] está obsoleto y se eliminará en las próximas versiones de
golpetazo.

El expresión se trata como si estuviera entre comillas dobles, pero una comilla doble dentro
el paréntesis no se trata de forma especial. Todos los tokens de la expresión experimentan el parámetro
y expansión de variables, sustitución de comandos y eliminación de comillas. El resultado se trata como
la expresión aritmética que se va a evaluar. Las expansiones aritméticas pueden estar anidadas.

La evaluación se realiza de acuerdo con las reglas que se enumeran a continuación en ARITMÉTICA
IMPACTO. Si expresión no es válido, golpear imprime un mensaje que indica falla y no
ocurre la sustitución.

Proceso Sustitución
Proceso sustitución es compatible con sistemas que admiten canalizaciones con nombre (FIFO) o el
/ dev / fd método de nombrar archivos abiertos. Toma la forma de <(lista) or >(lista).
lista se ejecuta con su entrada o salida conectada a un FIFO o algún archivo en / dev / fd.
El nombre de este archivo se pasa como argumento al comando actual como resultado de la
expansión. Si el >(lista) se utiliza el formulario, escribir en el archivo proporcionará entrada para lista.
Si <(lista) se utiliza el formulario, el archivo pasado como argumento debe leerse para obtener el
salida de lista.

Cuando está disponible, la sustitución del proceso se realiza simultáneamente con el parámetro y
expansión de variables, sustitución de comandos y expansión aritmética.

Palabra Splitting
El shell escanea los resultados de la expansión de parámetros, la sustitución de comandos y la aritmética.
expansión que no ocurrió entre comillas dobles para por el temor terrible.

La cáscara trata cada carácter de IFS como delimitador, y divide los resultados del otro
expansiones en palabras utilizando estos caracteres como terminadores de campo. Si IFS está desarmado, o
su valor es exactamente , el valor predeterminado, luego secuencias de , ,
y al principio y al final de los resultados de las expansiones anteriores son
ignorado, y cualquier secuencia de IFS caracteres no al principio ni al final sirve para delimitar
palabras. Si IFS tiene un valor diferente al predeterminado, entonces secuencias de espacios en blanco
personajes espacio y de la pestaña. se ignoran al principio y al final de la palabra, siempre que el
el carácter de espacio en blanco está en el valor de IFS (un IFS carácter de espacio en blanco). Cualquier personaje
in IFS eso no es IFS espacio en blanco, junto con cualquier adyacente IFS caracteres de espacio en blanco,
delimita un campo. Una secuencia de IFS Los caracteres de espacio en blanco también se tratan como un delimitador.
Si el valor de IFS es nulo, no se produce ninguna división de palabras.

Argumentos nulos explícitos ("" or '') se conservan. Argumentos nulos implícitos sin comillas,
resultantes de la expansión de parámetros que no tienen valores, se eliminan. Si un
El parámetro sin valor se expande entre comillas dobles, se obtiene un argumento nulo y se
retenido.

Tenga en cuenta que si no se produce ninguna expansión, no se realiza ninguna división.

Nombre de ruta Expansión
Después de la división de palabras, a menos que el -f se ha establecido la opción, golpear escanea cada palabra en busca de
personajes *, ?y [. Si aparece uno de estos caracteres, la palabra se considera como
a patróny reemplazado por una lista ordenada alfabéticamente de nombres de archivos que coinciden
patrón (ver Patrón de Costura Coincidencia de debajo). Si no se encuentran nombres de archivo coincidentes y el shell
opción globo nulo no está habilitado, la palabra no se modifica. Si el globo nulo opción es
establecido y no se encuentran coincidencias, la palabra se elimina. Si el falloglob la opción de shell está configurada,
y no se encuentran coincidencias, se imprime un mensaje de error y el comando no se ejecuta. Si
la opción de shell nocaseglob está habilitado, la coincidencia se realiza sin tener en cuenta el caso
de caracteres alfabéticos. Tenga en cuenta que al usar expresiones de rango como [az] (ver más abajo),
Se pueden incluir letras del otro caso, dependiendo de la configuración de LC_COLLATE. Cuando un
patrón se utiliza para la expansión del nombre de ruta, el carácter ``. '' al comienzo de un nombre o
inmediatamente después de una barra inclinada debe coincidir explícitamente, a menos que la opción de shell puntoglob
Está establecido. Al hacer coincidir un nombre de ruta, el carácter de barra siempre debe coincidir explícitamente.
En otros casos, el ``. '' El personaje no se trata de forma especial. Ver la descripción de
comprado debajo de SHELL INCORPORADO COMANDOS para una descripción de la nocaseglob, globo nulo,
fallogloby puntoglob opciones de shell.

El GLOBIGNORAR La variable de shell se puede usar para restringir el conjunto de nombres de archivo que coinciden con un
patrón. Si GLOBIGNORAR está configurado, cada nombre de archivo coincidente que también coincide con uno de los
patrones en GLOBIGNORAR se elimina de la lista de coincidencias. Los nombres de archivo ``. '' y
`` .. '' siempre se ignoran cuando GLOBIGNORAR está establecido y no es nulo. Sin embargo, el establecimiento
GLOBIGNORAR a un valor no nulo tiene el efecto de habilitar el puntoglob opción de shell, así que todos
otros nombres de archivo que comienzan con un ``. '' coincidirá. Para obtener el viejo comportamiento de ignorar
nombres de archivo que comienzan con un ``. '', hacer ``. * '' uno de los patrones en GLOBIGNORAR.
puntoglob La opción está deshabilitada cuando GLOBIGNORAR está desarmado.

Patrón de Costura Coincidencia de

Cualquier carácter que aparezca en un patrón, que no sean los caracteres especiales del patrón.
que se describe a continuación, coincide con sí mismo. El carácter NUL puede no aparecer en un patrón. A
la barra invertida escapa al siguiente carácter; la barra invertida de escape se descarta cuando
pareo. Los caracteres del patrón especial deben estar entrecomillados si van a coincidir
literalmente.

Los caracteres de patrón especial tienen los siguientes significados:

* Coincide con cualquier cadena, incluida la cadena nula. Cuando el estrella global shell
la opción está habilitada, y * se utiliza en un contexto de expansión de nombre de ruta, dos
adyacente *Los s usados ​​como un solo patrón coincidirán con todos los archivos y cero o más
directorios y subdirectorios. Si seguido de un /, dos adyacentes *s voluntad
coincidir solo con directorios y subdirectorios.
? Coincide con cualquier carácter individual.
[...] Coincide con cualquiera de los caracteres incluidos. Un par de caracteres separados
por un guion denota un distancia expresión; cualquier personaje que se encuentre entre
esos dos caracteres, inclusive, utilizando la clasificación de la configuración regional actual
la secuencia y el juego de caracteres coinciden. Si el primer carácter que sigue
las [ es un ! o un ^ entonces cualquier carácter que no esté incluido coincide. los
El orden de clasificación de los caracteres en las expresiones de rango está determinado por el
local actual y los valores de la LC_COLLATE or LC_TODOS variables de shell,
si está configurado. Para obtener la interpretación tradicional de expresiones de rango,
donde [anuncio] es equivalente a [a B C D], establecer el valor de la LC_TODOS variable de shell
a C, o habilitar el rangos globascii opción de shell. A - puede coincidir con
incluyéndolo como el primer o último carácter del conjunto. A ] puede coincidir
incluyéndolo como el primer personaje del conjunto.

En un radio de [ y ], personaje privadas se puede especificar usando la sintaxis
[:clase:], Donde clase es una de las siguientes clases definidas en POSIX
estándar:
alnum alfa ascii en blanco controlar dígito gráfica inferior Imprimir punto espacio superior por el temor
xdigito
Una clase de personaje coincide con cualquier personaje que pertenezca a esa clase. los por el temor
la clase de caracteres coincide con letras, dígitos y el carácter _.

En un radio de [ y ], un equivalencia clase se puede especificar usando la sintaxis
[=c=], que coincide con todos los caracteres con el mismo peso de intercalación (como
definido por la configuración regional actual) como el carácter c.

En un radio de [ y ], la sintaxis [.símbolo.] coincide con el símbolo de clasificación símbolo.

Si extglob La opción de shell está habilitada usando el comprado incorporado, varios patrones extendidos
Se reconocen los operadores coincidentes. En la siguiente descripción, un lista de patrones es una lista
de uno o más patrones separados por un |. Los patrones compuestos se pueden formar usando uno o
más de los siguientes subpatrones:

?(lista de patrones)
Coincide con cero o una aparición de los patrones dados
*(lista de patrones)
Coincide con cero o más ocurrencias de los patrones dados
+(lista de patrones)
Coincide con una o más ocurrencias de los patrones dados
@(lista de patrones)
Coincide con uno de los patrones dados
!(lista de patrones)
Coincide con cualquier cosa excepto uno de los patrones dados

Cotización Eliminación
Después de las expansiones anteriores, todas las apariciones sin comillas de los caracteres \, 'y "
que no resultaron de una de las expansiones anteriores se eliminan.

REDIRECCION


Antes de que se ejecute un comando, su entrada y salida pueden ser redirigida usando un especial
notación interpretada por el shell. La redirección permite que los identificadores de archivos de los comandos sean
duplicado, abierto, cerrado, hecho para referirse a diferentes archivos, y puede cambiar los archivos que
el comando lee y escribe en. La redirección también se puede utilizar para modificar los identificadores de archivos en
el entorno de ejecución de shell actual. Los siguientes operadores de redirección pueden preceder
o aparecer en cualquier lugar dentro de un simples comando o puede seguir un comando. Las redirecciones son
procesados ​​en el orden en que aparecen, de izquierda a derecha.

Cada redirección que pueda estar precedida por un número de descriptor de archivo puede ir precedida
por una palabra de la forma {nombrevar}. En este caso, para cada operador de redirección excepto> & -
y <& -, el shell asignará un descriptor de archivo mayor o igual a 10 y asignará
a nombrevar. Si> & - o <& - está precedido por {nombrevar}, El valor de nombrevar define el
descriptor de archivo para cerrar.

En las siguientes descripciones, si se omite el número de descriptor de archivo y el primer
El carácter del operador de redirección es <, la redirección se refiere a la entrada estándar
(descriptor de archivo 0). Si el primer carácter del operador de redirección es >, la
la redirección se refiere a la salida estándar (descriptor de archivo 1).

La palabra que sigue al operador de redirección en las siguientes descripciones, a menos que
se indique lo contrario, está sujeto a expansión de riostra, expansión de tilde, parámetro y variable
expansión, sustitución de comandos, expansión aritmética, eliminación de comillas, expansión de nombre de ruta,
y división de palabras. Si se expande a más de una palabra, golpear informa un error.

Tenga en cuenta que el orden de las redirecciones es significativo. Por ejemplo, el comando

ls > lista de direcciones 2>&1

dirige tanto la salida estándar como el error estándar al archivo lista de direcciones, mientras que el comando

ls 2>&1 > lista de direcciones

dirige solo la salida estándar al archivo lista de direcciones, porque el error estándar fue
duplicado de la salida estándar antes de que la salida estándar fuera redirigida a lista de direcciones.

Comandos de Bash maneja varios nombres de archivo especialmente cuando se utilizan en redirecciones, como se describe
en la siguiente tabla:

/ dev / fd /fd
If fd es un entero válido, descriptor de archivo fd está duplicado.
/ dev / stdin
El descriptor de archivo 0 está duplicado.
/ dev / stdout
El descriptor de archivo 1 está duplicado.
/ dev / stderr
El descriptor de archivo 2 está duplicado.
/ dev / tcp /fortaleza/Puerto
If fortaleza es un nombre de host o una dirección de Internet válidos, y Puerto es un puerto entero
número o nombre del servicio, golpear intenta abrir el socket TCP correspondiente.
/ dev / udp /fortaleza/Puerto
If fortaleza es un nombre de host o una dirección de Internet válidos, y Puerto es un puerto entero
número o nombre del servicio, golpear intenta abrir el socket UDP correspondiente.

Si no se abre o crea un archivo, la redirección falla.

Las redirecciones que utilizan descriptores de archivo superiores a 9 deben utilizarse con cuidado, ya que pueden
conflicto con los descriptores de archivo que utiliza el shell internamente.

Tenga en cuenta que ejecutivo El comando incorporado puede hacer que las redirecciones tengan efecto en el shell actual.

Reorientar Entrada
La redirección de la entrada hace que el archivo cuyo nombre resulte de la expansión de por el temor para ser
abierto para lectura en descriptor de archivo n, o la entrada estándar (descriptor de archivo 0) si n is
no especificado.

El formato general para redirigir la entrada es:

[n]<por el temor

Reorientar Salida
La redirección de la salida hace que el archivo cuyo nombre resulte de la expansión de por el temor para ser
abierto para escribir en el descriptor de archivo n, o la salida estándar (descriptor de archivo 1) si n
no se especifica. Si el archivo no existe, se crea; si existe es
truncado a tamaño cero.

El formato general para redirigir la salida es:

[n]>por el temor

Si el operador de redireccionamiento es >, y la no clobber opción a la set incorporado ha sido
habilitado, la redirección fallará si el archivo cuyo nombre resulta de la expansión de
por el temor existe y es un archivo normal. Si el operador de redireccionamiento es >|, o la redirección
el operador es > y del no clobber opción a la set El comando incorporado no está habilitado, el
Se intenta la redirección incluso si el archivo nombrado por por el temor existe.

Anexar Redirigido Salida
La redirección de la salida de esta manera hace que el archivo cuyo nombre resulte de la
Expansión de por el temor que se abrirá para agregar en el descriptor de archivo n, o la salida estándar
(descriptor de archivo 1) si n no se especifica. Si el archivo no existe, se crea.

El formato general para agregar resultados es:

[n]>>por el temor

Reorientar Estándar Salida y Estándar Error
Esta construcción permite tanto la salida estándar (descriptor de archivo 1) como el error estándar
salida (descriptor de archivo 2) para ser redirigido al archivo cuyo nombre es la expansión de
por el temor .

Hay dos formatos para redirigir la salida estándar y el error estándar:

&>por el temor
y
>&por el temor

De las dos formas, se prefiere la primera. Esto es semánticamente equivalente a

>por el temor 2>&1

Al usar el segundo formulario, por el temor no puede expandirse a un número o -. Si lo hace, otro
Se aplican operadores de redirección (ver Duplicando Archive Descriptores a continuación) para compatibilidad
razones.

Anexar Estándar Salida y Estándar Error
Esta construcción permite tanto la salida estándar (descriptor de archivo 1) como el error estándar
salida (descriptor de archivo 2) que se agregará al archivo cuyo nombre es la expansión de por el temor .

El formato para agregar salida estándar y error estándar es:

& >>por el temor

Esto es semánticamente equivalente a

>>por el temor 2>&1

(consulta: Duplicando Archive Descriptores abajo).

Aquí Documentos
Este tipo de redireccionamiento le indica al shell que lea la entrada de la fuente actual hasta que
línea que contiene solo delimitador (sin espacios en blanco al final). Todas las líneas se leen
hasta ese punto se utilizan como entrada estándar para un comando.

El formato de aquí-documentos es:

<<[-]por el temor
aquí-documento
delimitador

Sin expansión de parámetros y variables, sustitución de comandos, expansión aritmética o
la expansión del nombre de ruta se realiza en por el temor . Si alguno de los personajes de por el temor se citan, el
delimitador es el resultado de la eliminación de la cotización en por el temor , y las líneas en el documento aquí son
no expandido. Si por el temor no está citado, todas las líneas del documento aquí están sujetas a
expansión de parámetros, sustitución de comandos y expansión aritmética, el carácter
secuencia \ es ignorado, y \ debe usarse para citar los personajes \, $y `.

Si el operador de redireccionamiento es << -, todos los caracteres de tabulación iniciales se eliminan de
líneas de entrada y la línea que contiene delimitador. Esto permite aquí-documentos dentro de shell
los guiones se sangran de forma natural.

Aquí Tangas
Una variante de estos documentos, el formato es:

<<por el temor

El por el temor sufre expansión de riostra, expansión de tilde, expansión de parámetros y variables,
sustitución de comandos, expansión aritmética y eliminación de comillas. Expansión de nombre de ruta y
no se realiza la división de palabras. El resultado se proporciona como una sola cadena al
comando en su entrada estándar.

Duplicando Archive Descriptores
El operador de redirección

[n]<&por el temor

se utiliza para duplicar descriptores de archivos de entrada. Si por el temor se expande a uno o más dígitos, el
descriptor de archivo denotado por n está hecho para ser una copia de ese descriptor de archivo. Si los dígitos
in por el temor no especifica un descriptor de archivo abierto para entrada, se produce un error de redirección. Si
por el temor evalúa a -, descriptor de archivo n está cerrado. Si n no se especifica, el estándar
se utiliza la entrada (descriptor de archivo 0).

El operador

[n]>&por el temor

se utiliza de forma similar para duplicar descriptores de archivos de salida. Si n no se especifica, el
Se utiliza la salida estándar (descriptor de archivo 1). Si los dígitos en por el temor no especifique un archivo
descriptor abierto para salida, se produce un error de redirección. Si por el temor evalúa a -, archivo
descriptor n está cerrado. Como caso especial, si n se omite, y por el temor no se expande a
uno o más dígitos o -, la salida estándar y el error estándar se redirigen como
descrito anteriormente.

Emocionante Archive Descriptores
El operador de redirección

[n]<&dígito-

mueve el descriptor de archivo dígito al descriptor de archivo n, o la entrada estándar (archivo
descriptor 0) si n no se especifica dígito se cierra después de ser duplicado a n.

Del mismo modo, el operador de redirección

[n]>&dígito-

mueve el descriptor de archivo dígito al descriptor de archivo n, o la salida estándar (archivo
descriptor 1) si n no se especifica

Apertura Archive Descriptores para Reading y Escribiendo
El operador de redirección

[n]<>por el temor

hace que el archivo cuyo nombre es la expansión de por el temor para ser abierto tanto para lectura como para
escribiendo en el descriptor de archivo n, o en el descriptor de archivo 0 si n no se especifica. Si el archivo
no existe, se crea.

ALIAS


Alias Permitir que una cadena sea sustituida por una palabra cuando se usa como la primera palabra de una
comando simple. El shell mantiene una lista de alias que se pueden configurar y desarmar con el
alias y unalias comandos incorporados (ver SHELL INCORPORADO COMANDOS debajo). La primera palabra de
cada comando simple, si no está entre comillas, se comprueba para ver si tiene un alias. Si es así, esa palabra
se reemplaza por el texto del alias. Los caracteres /, $, `y = y cualquiera de la concha
metacaracteres o las comillas de los caracteres enumerados anteriormente pueden no aparecer en un nombre de alias. los
El texto de reemplazo puede contener cualquier entrada de shell válida, incluidos los metacaracteres de shell. los
La primera palabra del texto de reemplazo se prueba en busca de alias, pero una palabra que es idéntica a
un alias que se expande no se expande por segunda vez. Esto significa que uno puede alias ls
a ls -F, por ejemplo, y golpear no intenta expandir recursivamente el texto de reemplazo.
Si el último carácter del valor de alias es un en blanco, luego la siguiente palabra de comando siguiente
el alias también se comprueba para la expansión del alias.

Los alias se crean y se enumeran con el alias comando, y eliminado con el unalias
mando.

No hay ningún mecanismo para usar argumentos en el texto de reemplazo. Si los argumentos son
necesario, se debe utilizar una función de shell (ver Las funciones abajo).

Los alias no se expanden cuando el shell no es interactivo, a menos que el expandir_aliases
La opción de shell se establece usando comprado (ver la descripción de comprado bajo SHELL INCORPORADO COMANDOS
abajo).

Las reglas relativas a la definición y el uso de alias son algo confusas. Comandos de Bash
siempre lee al menos una línea completa de entrada antes de ejecutar cualquiera de los comandos en
esa linea. Los alias se expanden cuando se lee un comando, no cuando se ejecuta.
Por lo tanto, una definición de alias que aparece en la misma línea que otro comando no requiere
efecto hasta que se lea la siguiente línea de entrada. Los comandos que siguen a la definición de alias
en esa línea no se ven afectados por el nuevo alias. Este comportamiento también es un problema cuando
se ejecutan las funciones. Los alias se expanden cuando se lee una definición de función, no cuando
la función se ejecuta, porque la definición de una función es en sí misma un comando compuesto. Como
una consecuencia, los alias definidos en una función no están disponibles hasta después de esa función
es ejecutado. Para estar seguro, coloque siempre las definiciones de alias en una línea separada y no utilice
alias en comandos compuestos.

Para casi todos los propósitos, los alias son reemplazados por funciones de shell.

Las funciones


Una función de shell, definida como se describe anteriormente en SHELL GRAMÁTICA, almacena una serie de
comandos para su posterior ejecución. Cuando el nombre de una función de shell se usa como un simple
nombre de comando, se ejecuta la lista de comandos asociados con ese nombre de función.
Las funciones se ejecutan en el contexto del shell actual; no se crea ningún proceso nuevo para
interpretarlos (contrastar esto con la ejecución de un script de shell). Cuando una función es
ejecutado, los argumentos de la función se convierten en los parámetros posicionales durante su
ejecución. El parámetro especial # se actualiza para reflejar el cambio. Parámetro especial 0
no ha cambiado. El primer elemento del NOMBRE DE FUNCIÓN variable se establece en el nombre de la
función mientras la función se está ejecutando.

Todos los demás aspectos del entorno de ejecución del shell son idénticos entre una función y
su llamador con estas excepciones: el DEBUG y DEVOLUCION trampas (ver la descripción del
trampa incorporado debajo SHELL INCORPORADO COMANDOS a continuación) no se heredan a menos que la función tenga
se le ha dado el rastrear atributo (ver la descripción del declarar incorporado a continuación) o el
-o seguimiento de funciones La opción de shell se ha habilitado con el set incorporado (en cuyo caso todos
las funciones heredan el DEBUG y DEVOLUCION trampas), y el ERR la trampa no se hereda a menos que
las -o rastro de error Se ha habilitado la opción de shell.

Las variables locales a la función se pueden declarar con el local comando incorporado.
Normalmente, las variables y sus valores se comparten entre la función y su llamador.

El MÁS DIVERTIDO variable, si se establece en un valor numérico mayor que 0, define un máximo
función de nivel de anidación. Las invocaciones de funciones que superan el límite provocan la
comando para abortar.

Si el comando incorporado volvemos se ejecuta en una función, la función se completa y
la ejecución se reanuda con el siguiente comando después de la llamada a la función. Cualquier comando asociado
con el DEVOLUCION La trampa se ejecuta antes de que se reanude la ejecución. Cuando se completa una función, el
valores de los parámetros posicionales y el parámetro especial # se restauran a los valores
que tenían antes de la ejecución de la función.

Los nombres de las funciones y las definiciones se pueden enumerar con el -f opción a la declarar or compilado
comandos incorporados. los -F opción de declarar or compilado enumerará los nombres de las funciones solamente
(y opcionalmente el archivo de origen y el número de línea, si el extdebug opción de shell está habilitada).
Las funciones se pueden exportar para que las subcapas las tengan automáticamente definidas con el -f
opción a la exportar incorporado. La definición de una función se puede eliminar utilizando el -f opción de
las desarmado incorporado. Tenga en cuenta que las funciones de shell y las variables con el mismo nombre pueden resultar
en múltiples entradas con nombres idénticos en el entorno pasadas a los hijos del shell.
Se debe tener cuidado en los casos en que esto pueda causar un problema.

Las funciones pueden ser recursivas. los MÁS DIVERTIDO La variable se puede utilizar para limitar la profundidad de la
pila de llamadas de función y restringir el número de invocaciones de funciones. Por defecto, sin límite
se impone sobre el número de llamadas recursivas.

ARITMÉTICA IMPACTO


El shell permite evaluar expresiones aritméticas, bajo ciertas circunstancias (ver
las dejar y declarar comandos incorporados y Aritmética Expansión). La evaluación se realiza en
enteros de ancho fijo sin verificación de desbordamiento, aunque la división por 0 está atrapada y
marcado como un error. Los operadores y su precedencia, asociatividad y valores son
lo mismo que en el lenguaje C. La siguiente lista de operadores está agrupada en niveles de
operadores de igual precedencia. Los niveles se enumeran en orden decreciente de precedencia.

id++ id--
post-incremento y post-decremento variable
++id --id
pre-incremento y decremento variable
- + unario menos y más
! ~ negación lógica y bit a bit
** exponenciación
* / % multiplicación, división, resto
+ - suma resta
<< >> Desplazamientos bit a bit a la izquierda y a la derecha
<= >= < >
comparación
== != igualdad y desigualdad
& bitwise Y
^ OR exclusivo bit a bit
| bit a bit OR
&& Y lógico
|| OR lógico
expr?expr:expr
operador condicional
= *= /= %= += -= << = >> = &= ^= |=
asignación
Expr1 , Expr2
coma

Las variables de shell se permiten como operandos; La expansión de parámetros se realiza antes de
se evalúa la expresión. Dentro de una expresión, las variables de shell también pueden ser referenciadas por
name sin utilizar la sintaxis de expansión de parámetros. Una variable de shell que es nula o no está configurada
se evalúa como 0 cuando se hace referencia a él por su nombre sin usar la sintaxis de expansión de parámetros. los
El valor de una variable se evalúa como una expresión aritmética cuando se hace referencia a ella, o
cuando una variable a la que se le ha dado el entero atributo usando declarar -i se le asigna un
valor. Un valor nulo se evalúa como 0. Una variable de shell no necesita tener su entero atributo
activado para usarse en una expresión.

Las constantes con un 0 inicial se interpretan como números octales. Un 0x o 0X inicial denota
hexadecimal. De lo contrario, los números toman la forma [base#] n, donde el opcional bases es un
número decimal entre 2 y 64 que representa la base aritmética, y n es un número en
esa base. Si base# se omite, entonces se usa la base 10. Al especificar n, los dígitos
mayor <que 9 están representados por las letras minúsculas, las letras mayúsculas, @ y _,
en ese orden. Si bases es menor o igual a 36, ​​las letras minúsculas y mayúsculas pueden
utilizarse indistintamente para representar números entre 10 y 35.

Los operadores se evalúan por orden de precedencia. Las sub-expresiones entre paréntesis son
evaluado primero y puede anular las reglas de precedencia anteriores.

CONDICIONAL EXPRESIONES


Las expresiones condicionales son utilizadas por [[ comando compuesto y el test y [ incorporado
comandos para probar atributos de archivo y realizar comparaciones aritméticas y de cadenas.
Las expresiones se forman a partir de los siguientes primarios unarios o binarios. Si alguna presentar argumento
a una de las primarias es de la forma / dev / fd / n, luego descriptor de archivo n está chequeado. Si
las presentar argumento a una de las primarias es uno de los / dev / stdin, / dev / stdouto
/ dev / stderr, el descriptor de archivo 0, 1 o 2, respectivamente, está marcado.

A menos que se especifique lo contrario, las primarias que operan en archivos siguen enlaces simbólicos y
operan en el destino del enlace, en lugar del enlace en sí.

Cuando se usa con [[, la < y > los operadores ordenan lexicográficamente utilizando la configuración regional actual.
El test ordena los comandos usando el orden ASCII.

-a presentar
Cierto si presentar existe.
-b presentar
Cierto si presentar existe y es un archivo especial de bloque.
-c presentar
Cierto si presentar existe y es un archivo especial de caracteres.
-d presentar
Cierto si presentar existe y es un directorio.
-e presentar
Cierto si presentar existe.
-f presentar
Cierto si presentar existe y es un archivo normal.
-g presentar
Cierto si presentar existe y es set-group-id.
-h presentar
Cierto si presentar existe y es un vínculo simbólico.
-k presentar
Cierto si presentar existe y se establece su bit `` pegajoso ''.
-p presentar
Cierto si presentar existe y es una tubería con nombre (FIFO).
-r presentar
Cierto si presentar existe y es legible.
-s presentar
Cierto si presentar existe y tiene un tamaño mayor que cero.
-t fd Verdadero si descriptor de archivo fd está abierto y se refiere a una terminal.
-u presentar
Cierto si presentar existe y su bit set-user-id está establecido.
-w presentar
Cierto si presentar existe y se puede escribir.
-x presentar
Cierto si presentar existe y es ejecutable.
-G presentar
Cierto si presentar existe y es propiedad del ID de grupo efectivo.
-L presentar
Cierto si presentar existe y es un vínculo simbólico.
-N presentar
Cierto si presentar existe y se ha modificado desde su última lectura.
-O presentar
Cierto si presentar existe y es propiedad del ID de usuario efectivo.
-S presentar
Cierto si presentar existe y es un enchufe.
file1 -ef file2
Cierto si file1 y file2 se refieren al mismo dispositivo y números de inodo.
file1 -nt file2
Cierto si file1 es más reciente (según la fecha de modificación) que file2, o si file1
existe y file2 no.
file1 -ot file2
Cierto si file1 es más viejo que file2, o si file2 existe y file1 no.
-o nombreopción
Verdadero si la opción de shell nombreopción está habilitado. Consulte la lista de opciones en el
descripción del -o opción a la set incorporado a continuación.
-v nombrevar
Verdadero si la variable de shell nombrevar está configurado (se le ha asignado un valor).
-R nombrevar
Verdadero si la variable de shell nombrevar se establece y es una referencia de nombre.
-z cadena
Verdadero si la longitud de cadena Es cero.
cadena
-n cadena
Verdadero si la longitud de cadena no es cero.

string1 == string2
string1 = string2
Verdadero si las cadenas son iguales. = debe usarse con el test comando para POSIX
conformidad. Cuando se usa con el [[ comando, esto realiza la coincidencia de patrones como
descrito arriba (Compuesto Comandos).

string1 != string2
Verdadero si las cadenas no son iguales.

string1 < string2
Cierto si string1 ordena antes string2 lexicográficamente.

string1 > string2
Cierto si string1 ordena después string2 lexicográficamente.

arg1 OP arg2
OP es uno de los -eq, -n, -lt, -El, -gto -ge. Estos operadores binarios aritméticos
devuelve verdadero si arg1 es igual a, no igual a, menor que, menor o igual a,
mayor o mayor o igual que arg2, respectivamente. arg1 y arg2 puede ser
enteros positivos o negativos.

SIMPLE COMANDO EXPANSIÓN


Cuando se ejecuta un comando simple, el shell realiza las siguientes expansiones,
asignaciones y redirecciones, de izquierda a derecha.

1. Las palabras que el analizador ha marcado como asignaciones de variables (las que preceden al
nombre del comando) y las redirecciones se guardan para su posterior procesamiento.

2. Se expanden las palabras que no son asignaciones variables o redirecciones. Si alguna
las palabras permanecen después de la expansión, la primera palabra se toma como el nombre del comando
y las palabras restantes son los argumentos.

3. Las redirecciones se realizan como se describe arriba en REDIRECCION.

4. El texto después del = en cada variable la asignación sufre una expansión de tilde,
expansión de parámetros, sustitución de comandos, expansión aritmética y eliminación de comillas
antes de ser asignado a la variable.

Si no se obtiene un nombre de comando, las asignaciones de variables afectan el entorno de shell actual.
De lo contrario, las variables se agregan al entorno del comando ejecutado y no
afectar el entorno de shell actual. Si alguna de las asignaciones intenta asignar un
valor a una variable de solo lectura, se produce un error y el comando sale con un valor distinto de cero
de estado.

Si no se obtiene un nombre de comando, se realizan redirecciones, pero no afectan a la
entorno de shell. Un error de redirección hace que el comando salga con un estado distinto de cero.

Si queda un nombre de comando después de la expansión, la ejecución procede como se describe a continuación.
De lo contrario, el comando sale. Si una de las expansiones contenía una sustitución de comando,
el estado de salida del comando es el estado de salida de la última sustitución de comando
realizado. Si no hubo sustituciones de comando, el comando sale con un estado de
cero.

COMANDO EJECUCIÓN


Después de que un comando se ha dividido en palabras, si resulta en un comando simple y un
lista opcional de argumentos, se toman las siguientes acciones.

Si el nombre del comando no contiene barras, el shell intenta localizarlo. Si existe
una función de shell con ese nombre, esa función se invoca como se describe anteriormente en Las funciones.
Si el nombre no coincide con una función, el shell lo busca en la lista de shell
incorporados. Si se encuentra una coincidencia, se invoca ese incorporado.

Si el nombre no es una función de shell ni una función incorporada, y no contiene barras, golpear
busca cada elemento del TRAYECTORIA para un directorio que contiene un archivo ejecutable por eso
nombre. Comandos de Bash utiliza una tabla hash para recordar los nombres de ruta completos de los archivos ejecutables (consulte hachís
bajo SHELL INCORPORADO COMANDOS debajo). Una búsqueda completa de los directorios en TRAYECTORIA is
se realiza solo si el comando no se encuentra en la tabla hash. Si la búsqueda es
sin éxito, el shell busca una función de shell definida llamada
comando_not_found_handle. Si esa función existe, se invoca con el original
comando y los argumentos del comando original como sus argumentos, y la salida de la función
status se convierte en el estado de salida del shell. Si esa función no está definida, el shell
imprime un mensaje de error y devuelve un estado de salida de 127.

Si la búsqueda tiene éxito, o si el nombre del comando contiene una o más barras, el
shell ejecuta el programa nombrado en un entorno de ejecución independiente. Se establece el argumento 0
al nombre dado, y los argumentos restantes del comando se establecen en los argumentos
dado, si lo hubiera.

Si esta ejecución falla porque el archivo no está en formato ejecutable y el archivo no está
un directorio, se supone que es un shell guión, un archivo que contiene comandos de shell. A
se genera subshell para ejecutarlo. Esta subcapa se reinicia a sí misma, de modo que el efecto
es como si se hubiera invocado un nuevo shell para manejar el script, con la excepción de que el
ubicaciones de los comandos recordados por el padre (ver hachís debajo de SHELL INCORPORADO
COMANDOS) son retenidos por el niño.

Si el programa es un archivo que comienza con #!, el resto de la primera línea especifica un
intérprete para el programa. El shell ejecuta el intérprete especificado al operar
sistemas que no manejan este formato ejecutable por sí mismos. Los argumentos a la
El intérprete consta de un único argumento opcional que sigue al nombre del intérprete en el
primera línea del programa, seguida del nombre del programa, seguida del comando
argumentos, si los hay.

COMANDO EJECUCIÓN MEDIO AMBIENTE


El caparazón tiene un ejecución entorno, que consta de lo siguiente:

· Archivos abiertos heredados por el shell en la invocación, modificados por redirecciones
suministrado al ejecutivo incorporado

· El directorio de trabajo actual según lo establecido por cd, pushdo popd, o heredado por el
shell en la invocación

· La máscara del modo de creación de archivos establecida por umask o heredado del padre del caparazón

· Trampas de corriente colocadas por trampa

· Parámetros de shell que se establecen por asignación de variable o con set o heredado de
padre del caparazón en el medio ambiente

· Funciones de shell definidas durante la ejecución o heredadas del padre del shell en
el medio ambiente

· Opciones habilitadas en la invocación (ya sea de forma predeterminada o con argumentos de línea de comandos) o
by set

· Opciones habilitadas por comprado

· Alias ​​de shell definidos con alias

· Varios ID de proceso, incluidos los de trabajos en segundo plano, el valor de $$, y la
valor de PPID

Cuando se va a ejecutar un comando simple que no sea una función incorporada o de shell, es
se invoca en un entorno de ejecución independiente que consta de lo siguiente. A no ser que
de lo contrario, los valores se heredan del shell.

· Los archivos abiertos del shell, además de las modificaciones y adiciones especificadas por
redirecciones al comando

· El directorio de trabajo actual

· La máscara del modo de creación de archivos

· Variables de shell y funciones marcadas para exportar, junto con variables exportadas para
el comando, pasado en el entorno

· Las trampas capturadas por el caparazón se restablecen a los valores heredados del caparazón.
padre, y las trampas ignoradas por el shell se ignoran

Un comando invocado en este entorno separado no puede afectar la ejecución del shell
ambiente.

La sustitución de comandos, los comandos agrupados entre paréntesis y los comandos asíncronos son
invocado en un entorno de subcapa que es un duplicado del entorno de shell, excepto
que las trampas capturadas por el caparazón se restablecen a los valores que el caparazón heredó de su
padre en la invocación. Los comandos integrados que se invocan como parte de una canalización también se
ejecutado en un entorno de subshell. Los cambios realizados en el entorno de la subcapa no pueden
afectar el entorno de ejecución del shell.

Las subcapas generadas para ejecutar sustituciones de comandos heredan el valor de la -e opción de
el caparazón padre. Cuando no en POSIX modo, golpear borra el -e opción en tales subcapas.

Si un comando va seguido de un & y el control del trabajo no está activo, la entrada estándar predeterminada
porque el comando es el archivo vacío / dev / null. De lo contrario, el comando invocado hereda el
descriptores de archivo del shell de llamada modificados por redirecciones.

MEDIO AMBIENTE


Cuando se invoca un programa, se le da una matriz de cadenas llamada entorno. Es
una lista de nombre -propuesta de pares, de la forma nombre =propuesta de.

El caparazón proporciona varias formas de manipular el entorno. En la invocación, el caparazón
escanea su propio entorno y crea un parámetro para cada nombre encontrado, automáticamente
marcándolo para exportar a los procesos secundarios. Los comandos ejecutados heredan el entorno. los
exportar y declarar -x Los comandos permiten agregar y eliminar parámetros y funciones
del medio ambiente. Si se modifica el valor de un parámetro en el entorno, el nuevo
El valor pasa a formar parte del entorno, sustituyendo al antiguo. El entorno heredado por
cualquier comando ejecutado consiste en el entorno inicial del shell, cuyos valores pueden ser
modificado en el caparazón, menos los pares eliminados por el desarmado comando, más cualquier adición a través de
las exportar y declarar -x comandos.

El medio ambiente para cualquier simples comando o la función puede ser aumentada temporalmente por
prefijándolo con asignaciones de parámetros, como se describe arriba en PARÁMETROS. Estas
Las declaraciones de asignación afectan solo al entorno visto por ese comando.

Si -k La opción está configurada (ver la set comando incorporado a continuación), luego todos parámetro
Las asignaciones se colocan en el entorno para un comando, no solo las que preceden al
nombre del comando.

Cuándo golpear invoca un comando externo, la variable _ se establece en el nombre de archivo completo del
comando y pasado a ese comando en su entorno.

SALIR ESTADO


El estado de salida de un comando ejecutado es el valor devuelto por el esperar llamada al sistema o
función equivalente. Los estados de salida se encuentran entre 0 y 255, aunque, como se explica a continuación,
el shell puede utilizar valores superiores a 125 especialmente. Salir de estados de shell incorporados y
Los comandos compuestos también están limitados a este rango. En determinadas circunstancias, el caparazón
usará valores especiales para indicar modos de falla específicos.

Para los propósitos del shell, un comando que sale con un estado de salida cero ha tenido éxito. Un
el estado de salida de cero indica éxito. Un estado de salida distinto de cero indica falla. Cuando una
el comando termina con una señal fatal N, golpear usa el valor de 128+N como estado de salida.

Si no se encuentra un comando, el proceso hijo creado para ejecutarlo devuelve un estado de
127. Si se encuentra un comando pero no es ejecutable, el estado de retorno es 126.

Si un comando falla debido a un error durante la expansión o la redirección, el estado de salida es
mayor que cero.

Los comandos integrados de Shell devuelven un estado de 0 (verdadero) si tiene éxito y no es cero (false) Si
se produce un error mientras se ejecutan. Todas las incorporaciones devuelven un estado de salida de 2 para indicar
uso incorrecto.

Comandos de Bash en sí mismo devuelve el estado de salida del último comando ejecutado, a menos que haya un error de sintaxis
ocurre, en cuyo caso sale con un valor distinto de cero. Ver también el salida comando incorporado
abajo.

SEÑALES


Cuándo golpear es interactivo, en ausencia de trampas, ignora SIGNO (así que eso matar 0
no mata un shell interactivo), y SIGINT es capturado y manipulado (de modo que el esperar
incorporado es interrumpible). En todos los casos, golpear ignora SIGQUITAR. Si el control del trabajo está en
efecto, golpear ignora SEGUIR, SIGTTUy SIGTSTP.

Comandos no incorporados ejecutados por golpear tener manejadores de señales establecidos en los valores heredados por el
shell de su padre. Cuando el control del trabajo no está en efecto, los comandos asincrónicos ignoran
SIGINT y SIGQUITAR además de estos controladores heredados. Los comandos se ejecutan como resultado de
sustitución de comandos ignorar las señales de control de trabajo generadas por el teclado SEGUIR, SIGTTU,
y SIGTSTP.

El shell sale de forma predeterminada al recibir un SUSCRÍBETE. Antes de salir, un shell interactivo
reenvía el SUSCRÍBETE a todos los trabajos, en ejecución o detenidos. Los trabajos detenidos se envían SEÑAL a
asegurarse de que reciben el SUSCRÍBETE. Para evitar que el caparazón envíe la señal a un
trabajo en particular, debe eliminarse de la tabla de trabajos con el renegar de incorporado (ver
SHELL INCORPORADO COMANDOS a continuación) o marcado para no recibir SUSCRÍBETE usando renegar de -h.

Si huponesalir La opción de shell se ha configurado con comprado, golpear envía un SUSCRÍBETE a todos los trabajos
cuando sale un shell de inicio de sesión interactivo.

If golpear está esperando que se complete un comando y recibe una señal para la cual se ha
establecido, la trampa no se ejecutará hasta que se complete el comando. Cuando golpear está esperando
para un comando asincrónico a través del esperar incorporado, la recepción de una señal para la cual un
La trampa ha sido colocada causará que el esperar incorporado para regresar inmediatamente con un estado de salida
mayor que 128, inmediatamente después de lo cual se ejecuta la captura.

TRABAJO CONTROL


Trabajos control se refiere a la capacidad de detener selectivamente (suspender) la ejecución de procesos
y continuarcurrículum) su ejecución en un momento posterior. Un usuario normalmente emplea esto
instalación a través de una interfaz interactiva suministrada conjuntamente por el kernel del sistema operativo
conductor de terminal y golpear.

El caparazón asocia un trabajo con cada tubería. Mantiene una tabla de actualmente en ejecución
trabajos, que pueden aparecer en la lista recibas nuevas vacantes en tu correo mando. Cuando golpear inicia un trabajo de forma asincrónica
(en el fondo), imprime una línea que se parece a:

[1] 25647

indicando que este trabajo es el trabajo número 1 y que el ID de proceso del último proceso en
la canalización asociada con este trabajo es 25647. Todos los procesos en una sola canalización
son miembros del mismo trabajo. Comandos de Bash utiliza el trabajo la abstracción como base para el control del trabajo.

Para facilitar la implementación de la interfaz de usuario para el control del trabajo, el operador
sistema mantiene la noción de un corriente terminal grupo de XNUMX ID. Miembros de este
grupo de procesos (procesos cuyo ID de grupo de procesos es igual al proceso terminal actual
ID de grupo) reciben señales generadas por el teclado como SIGINT. Se dice que estos procesos
estar en el primer plano. Antecedentes Los procesos son aquellos cuyo ID de grupo de procesos difiere de
la terminal; estos procesos son inmunes a las señales generadas por el teclado. Solo primer plano
los procesos pueden leer desde o, si el usuario así lo especifica con stty totop, escribir en
la terminal. Procesos en segundo plano que intentan leer desde (escribir en cuando stty totop
está en efecto) al terminal se le envía un SEGUIR (SÍGUELO) señal por la terminal del kernel
controlador, que, a menos que se detecte, suspende el proceso.

Si el sistema operativo en el que golpear se está ejecutando admite el control del trabajo, golpear contiene
facilidades para usarlo. Escribiendo el suspender personaje (típicamente ^Z, Control-Z) mientras que un
El proceso se está ejecutando hace que ese proceso se detenga y devuelve el control a golpear. Mecanografía
las retrasado suspender personaje (típicamente ^Y, Control-Y) hace que el proceso se detenga
cuando intenta leer la entrada de la terminal, y el control se devuelve a golpear.
El usuario puede manipular el estado de este trabajo, utilizando el bg comando para continuar en el
fondo, el fg comando para continuar en primer plano, o el matar comando para matar
eso. UNA ^Z entra en vigor inmediatamente, y tiene el efecto secundario adicional de causar pendientes
salida y mecanografiado para ser descartados.

Hay varias formas de hacer referencia a un trabajo en el shell. El personaje % introduce un
especificaciones de trabajo (especificación de trabajo). Número de trabajo n puede ser referido como %n. Un trabajo también puede ser
referido a usar un prefijo del nombre usado para iniciarlo, o usar una subcadena que aparece
en su línea de comando. Por ejemplo, % ce se refiere a una parada ce trabajo. Si un prefijo coincide
más de un trabajo, golpear informa un error. Utilizando %? ce, por otro lado, se refiere a cualquier
trabajo que contiene la cadena ce en su línea de comando. Si la subcadena coincide con más de una
trabajo, golpear informa un error. Los simbolos %% y %+ referirse a la noción de la cáscara de la
corriente trabajo, que es el último trabajo que se detuvo mientras estaba en primer plano o se inició en
el fondo. los anterior trabajo se puede hacer referencia usando %-. Si solo hay una
trabajo, %+ y %- Ambos pueden usarse para referirse a ese trabajo. En la producción perteneciente a trabajos (p. Ej.,
la salida de la recibas nuevas vacantes en tu correo comando), el trabajo actual siempre se marca con un +, y la
trabajo anterior con un -. Un solo% (sin especificación de trabajo adjunta) también se refiere a
el trabajo actual.

El simple hecho de nombrar un trabajo se puede usar para ponerlo en primer plano: %1 es sinónimo de `` fg
% 1 '', llevando el trabajo 1 del fondo al primer plano. Similar, ``% 1 & '' hojas de vida
trabajo 1 en segundo plano, equivalente a `` bg % 1 ''.

El shell aprende inmediatamente cada vez que un trabajo cambia de estado. Normalmente, golpear espera hasta que
está a punto de imprimir un mensaje antes de informar cambios en el estado de un trabajo para no
interrumpir cualquier otra salida. Si el -b opción a la set el comando incorporado está habilitado, golpear
informa dichos cambios de inmediato. Cualquier trampa en SEÑAL se ejecuta para cada niño que
salidas

Si un intento de salir golpear se realiza mientras los trabajos están detenidos (o, si el checar trabajos shell
La opción ha sido habilitada usando la comprado incorporado, en ejecución), el caparazón imprime una advertencia
mensaje, y, si el checar trabajos está habilitada, enumera los trabajos y sus estados. los
recibas nuevas vacantes en tu correo El comando puede usarse para inspeccionar su estado. Si un segundo intento de salida es
hecho sin un comando intermedio, el shell no imprime otra advertencia, y cualquier
los trabajos detenidos se terminan.

INCITACIÓN


Al ejecutar de forma interactiva, golpear muestra el mensaje principal PS1 cuando esté listo para
leer un comando y el indicador secundario PS2 cuando necesita más información para completar un
mando. Comandos de Bash permite personalizar estas cadenas de mensajes insertando una serie de
Caracteres especiales con escape de barra invertida que se decodifican de la siguiente manera:
\a un carácter de campana ASCII (07)
\d la fecha en formato "Día de la semana Mes Fecha" (por ejemplo, "Martes 26 de mayo")
\D{formato}
las formato se pasa a Strftime(3) y el resultado se inserta en el
cadena de aviso; un vacío formato da como resultado una hora específica de la localidad
representación. Los tirantes son necesarios
\e un carácter de escape ASCII (033)
\h el nombre de host hasta el primer `. '
\H el nombre de host
\j la cantidad de trabajos actualmente administrados por el shell
\l el nombre base del nombre del dispositivo terminal del shell
\n nueva línea
\r retorno de carro
\s el nombre de la concha, el nombre base de $0 (la porción que sigue al final
barra oblicua)
\t la hora actual en formato HH: MM: SS de 24 horas
\T la hora actual en formato HH: MM: SS de 12 horas
\@ la hora actual en formato de 12 horas am / pm
\A la hora actual en formato HH: MM de 24 horas
\u el nombre de usuario del usuario actual
\v la versión de golpear (por ejemplo, 2.00)
\V el lanzamiento de golpear, versión + nivel de parche (por ejemplo, 2.00.0)
\w el directorio de trabajo actual, con $ HOME abreviado con una tilde (usa la
valor de la PROMPT_DIRTRIM variable)
\W el nombre base del directorio de trabajo actual, con $ HOME abreviado con un
tilde
\! el número de historial de este comando
\# el número de comando de este comando
\$ si el UID efectivo es 0, un #, de lo contrario un $
\nnn el carácter correspondiente al número octal nnn
\\ una barra invertida
\[ comenzar una secuencia de caracteres que no se imprimen, que podrían usarse para incrustar un
secuencia de control del terminal en el indicador
\] finalizar una secuencia de caracteres que no se imprimen

El número de comando y el número de historial suelen ser diferentes: el número de historial de un
comando es su posición en la lista del historial, que puede incluir comandos restaurados desde el
archivo de historial (ver HISTORIA a continuación), mientras que el número de comando es la posición en la secuencia
de comandos ejecutados durante la sesión de shell actual. Después de decodificar la cadena, es
expandido mediante expansión de parámetros, sustitución de comandos, expansión aritmética y cotización
remoción, sujeto al valor de la prontavars opción de shell (ver la descripción de la
comprado comando bajo SHELL INCORPORADO COMANDOS abajo).

LEER LÍNEA


Esta es la biblioteca que maneja la entrada de lectura cuando se usa un shell interactivo, a menos que el
--noeditar La opción se da en la invocación del shell. La edicin de lnea tambin se usa cuando se usa el
-e opción a la leer incorporado. Por defecto, los comandos de edición de línea son similares a los
de Emacs. También está disponible una interfaz de edición de líneas de estilo vi. La edición de línea puede ser
habilitado en cualquier momento utilizando el -o emacs or -o vi opciones para el set incorporado (ver SHELL
INCORPORADO COMANDOS debajo). Para desactivar la edición de línea después de que se esté ejecutando el shell, use el +o
emacs or +o vi opciones para el set incorporado.

Readline Calificación
En esta sección, la notación al estilo de Emacs se usa para denotar las pulsaciones de teclas. Las teclas de control son
denotado por C-clave, por ejemplo, Cn significa Control-N. Similar, meta las teclas se indican con M-clave,
entonces Mx significa Meta-X. (En teclados sin meta clave, M-x significa ESC x, es decir, presione el
Tecla de escape y luego la x llave. Esto hace que ESC sea el meta prefijo. La combinación MC-x significa
ESC-Control-x, o presione la tecla Escape y luego mantenga presionada la tecla Control mientras presiona el x
llave.)

Los comandos de Readline pueden ser numéricos argumentos, que normalmente actúa como un recuento repetido.
A veces, sin embargo, es el signo del argumento lo que es significativo. Pasando un
argumento negativo a un comando que actúa en la dirección de avance (p. ej., línea de muerte) causas
ese comando para actuar en una dirección hacia atrás. Comandos cuyo comportamiento con argumentos
las desviaciones de esto se indican a continuación.

Cuando un comando se describe como matanza texto, el texto eliminado se guarda para un posible futuro
recuperacióntirando). El texto eliminado se guarda en un matar anillo. Causa de muertes consecutivas
el texto se acumulará en una unidad, que se puede tirar de una sola vez. Comandos que
no matar texto separe los fragmentos de texto en el anillo de muerte.

Readline Inicialización
Readline se personaliza poniendo comandos en un archivo de inicialización (el entradarc de archivo).
El nombre de este archivo se toma del valor del ENTRADARC variable. Si esa variable
no está configurado, el valor predeterminado es ~ / .inputrc. Cuando un programa que usa la biblioteca readline
se inicia, se lee el archivo de inicialización y se establecen las combinaciones de teclas y las variables.
Solo se permiten unas pocas construcciones básicas en el archivo de inicialización de readline. Blanco
las líneas se ignoran. Líneas que comienzan con a # son comentarios. Líneas que comienzan con a $
indican construcciones condicionales. Otras líneas indican combinaciones de teclas y configuraciones variables.

Las combinaciones de teclas predeterminadas se pueden cambiar con un entradarc expediente. Otros programas que usan
esta biblioteca puede agregar sus propios comandos y enlaces.

Por ejemplo, colocando

M-Control-u: argumento-universal
or
C-Meta-u: argumento-universal
en el entradarc haría que MCu ejecute el comando readline argumento-universal.

Se reconocen los siguientes nombres de caracteres simbólicos: BORRAR, DEL, ESC, Extensión LFD, NUEVA LÍNEA,
RET, DEVOLUCION , SPC, SPACE y TAB.

Además de los nombres de los comandos, readline permite que las claves estén vinculadas a una cadena que es
insertado cuando se presiona la tecla (un macro).

Readline Clave encuadernaciones
La sintaxis para controlar las combinaciones de teclas en el entradarc el archivo es simple. Todo lo que es
requerido es el nombre del comando o el texto de una macro y una secuencia de teclas a la que
debe estar encuadernado. El nombre se puede especificar de dos formas: como nombre de clave simbólica,
posiblemente con Meta- or Controlar- prefijos, o como una secuencia de teclas.

Al usar el formulario Nombre clave:nombre de la función or macro, Nombre clave es el nombre de una clave deletreada
en inglés. Por ejemplo:

Control-u: argumento-universal
Meta-Rubout: palabra de muerte hacia atrás
Control-o: "> salida"

En el ejemplo anterior, Cu está vinculado a la función argumento-universal, M-DEL está obligado a
la función palabra-de-muerte-hacia-atrásy Co está obligado a ejecutar la macro expresada a la derecha
lado de la mano (es decir, para insertar el texto ``> salida '' en la línea).

En la segunda forma, "keyseq":nombre de la función or macro, secuencia de claves difiere de Nombre clave arriba en
que las cadenas que denotan una secuencia de teclas completa se pueden especificar colocando la secuencia
entre comillas dobles. Se pueden usar algunos escapes de claves de estilo GNU Emacs, como en el siguiente
ejemplo, pero no se reconocen los nombres de los personajes simbólicos.

"\ Cu": argumento-universal
"\ Cx \ Cr": re-read-init-file
"\ e [11 ~": "Tecla de función 1"

En este ejemplo, Cu está de nuevo vinculado a la función argumento-universal. Cx Cr está obligado
a la función volver a leer el archivo de inicioy ESC [ 1 1 ~ está obligado a insertar el texto `` Función
Llave 1 ''.

El conjunto completo de secuencias de escape de estilo GNU Emacs es
\C- prefijo de control
\METRO- prefijo meta
\e un personaje de escape
\\ barra invertida
\" literal "
\' literal '

Además de las secuencias de escape de estilo GNU Emacs, un segundo conjunto de escapes de barra invertida es
tamaños:
\a alerta (campana)
\b Retroceso
\d borrar
\f formulario de alimentación
\n nueva línea
\r retorno de carro
\t pestaña horizontal
\v pestaña vertical
\nnn el carácter de ocho bits cuyo valor es el valor octal nnn (uno a tres
dígitos)
\xHH el carácter de ocho bits cuyo valor es el valor hexadecimal HH (uno o dos
dígitos hexadecimales)

Al ingresar el texto de una macro, se deben usar comillas simples o dobles para indicar un
definición macro. Se supone que el texto sin comillas es el nombre de una función. En el cuerpo macro, el
Los escapes de barra invertida descritos anteriormente se expanden. La barra invertida citará cualquier otro carácter
en el texto de la macro, incluidos "y".

Comandos de Bash permite que las combinaciones de teclas de readline actuales se muestren o modifiquen con el se unen
comando incorporado. El modo de edición se puede cambiar durante el uso interactivo mediante el -o
opción a la set comando incorporado (ver SHELL INCORPORADO COMANDOS abajo).

Readline Variables
Readline tiene variables que se pueden utilizar para personalizar aún más su comportamiento. Una variable puede
estar en el entradarc archivo con una declaración de la forma

set nombre de la variable propuesta de

Excepto donde se indique, las variables readline pueden tomar los valores On or DESC (sin considerar
caso). Los nombres de variables no reconocidos se ignoran. Cuando se lee un valor de variable, vacío o
valores nulos, "on" (no distingue entre mayúsculas y minúsculas) y "1" son equivalentes a On. Todos los demás valores son
equivalente a DESC. Las variables y sus valores predeterminados son:

estilo campana (audible)
Controla lo que sucede cuando readline quiere hacer sonar el timbre de la terminal. Si se establece en
ninguna, readline nunca suena al timbre. Si se establece en visibles, readline utiliza un visible
campana si hay uno disponible. Si se establece en audible, readline intenta hacer sonar el
timbre de la terminal.
enlazar-tty-caracteres-especiales (En)
Si se establece en On, readline intenta enlazar los caracteres de control tratados especialmente por
controlador de terminal del kernel a sus equivalentes readline.
estadísticas-de-colores (Apagado)
Si se establece en On, readline muestra posibles terminaciones utilizando diferentes colores para
indicar su tipo de archivo. Las definiciones de color se toman del valor de la
LS_COLORS Variable ambiental.
comentario-comenzar (`` # '')
La cadena que se inserta cuando la línea de lectura Insertar comentario se ejecuta el comando.
Este comando está vinculado a METRO-# en modo emacs y para # en el modo de comando vi.
finalización-ignorar-caso (Apagado)
Si se establece en On, readline realiza la coincidencia y finalización del nombre de archivo en un
moda que no distingue entre mayúsculas y minúsculas.
completar-prefijo-mostrar-longitud (0)
La longitud en caracteres del prefijo común de una lista de posibles terminaciones.
que se muestra sin modificaciones. Cuando se establece en un valor mayor que cero,
los prefijos comunes más largos que este valor se reemplazan con puntos suspensivos cuando
mostrando posibles terminaciones.
elementos de consulta de finalización (100)
Esto determina cuándo se le pregunta al usuario sobre la visualización del número de posibles
terminaciones generadas por el posibles terminaciones mando. Puede establecerse en cualquier
valor entero mayor o igual a cero. Si el número de posibles completaciones
es mayor o igual que el valor de esta variable, se pregunta al usuario si
o no desea verlos; de lo contrario, simplemente se enumeran en la terminal.
convertir-meta (En)
Si se establece en On, readline convertirá los caracteres con el octavo bit configurado a ASCII
secuencia de teclas quitando el octavo bit y prefijando un carácter de escape (en
efecto, usando escape como el meta prefijo).
desactivar-completar (Apagado)
Si se establece en On, readline inhibirá la finalización de palabras. Los personajes de finalización serán
insertados en la línea como si hubieran sido asignados a autoinserto.
modo de edición (emacs)
Controla si readline comienza con un conjunto de combinaciones de teclas similares a emacs or vi.
modo de edición se puede configurar en emacs or vi.
caracteres de control de eco (En)
Cuando se establece en On, en los sistemas operativos que indican que lo admiten, readline hace eco
un carácter correspondiente a una señal generada desde el teclado.
habilitar teclado (Apagado)
Cuando se establece en On, readline intentará habilitar el teclado de la aplicación cuando esté
llamado. Algunos sistemas necesitan esto para habilitar las teclas de flecha.
habilitar-meta-clave (En)
Cuando se establece en On, readline intentará habilitar cualquier tecla modificadora de meta en el terminal
afirma apoyar cuando se llama. En muchos terminales, la tecla meta se usa para
enviar caracteres de ocho bits.
expandir-tilde (Apagado)
Si se establece en On, la expansión de tilde se realiza cuando readline intenta completar la palabra.
historia-preservar-punto (Apagado)
Si se establece en On, el código de historial intenta colocar un punto en la misma ubicación en cada
línea de historial recuperada con historia previa or siguiente historia.
tamaño de la historia (0)
Establezca el número máximo de entradas del historial guardadas en la lista del historial. Si se establece en
cero, se eliminan todas las entradas existentes del historial y no se guardan nuevas entradas. Si
establecido en un valor menor que cero, el número de entradas del historial no está limitado. Por
Por defecto, el número de entradas del historial no está limitado.
modo de desplazamiento horizontal (Apagado)
Cuando se establece en On, hace que readline use una sola línea para mostrar, desplazando la entrada
horizontalmente en una sola línea de pantalla cuando se vuelve más larga que el ancho de la pantalla
en lugar de pasar a una nueva línea.
entrada-meta (Apagado)
Si se establece en On, readline habilitará la entrada de ocho bits (es decir, no eliminará la
bit alto de los caracteres que lee), independientemente de lo que diga el terminal
puede apoyar. El nombre meta-bandera es un sinónimo de esta variable.
isearch-terminadores (`` C- [C-J '')
La cadena de caracteres que debe terminar una búsqueda incremental sin
posteriormente ejecutando el personaje como un comando. Si esta variable no ha sido
dado un valor, los personajes ESC y CJ terminará una búsqueda incremental.
mapa de teclas (emacs)
Establece el mapa de teclas de readline actual. El conjunto de nombres de mapas de teclas válidos es emacs,
emacs-estándar, emacs-meta, emacs-ctlx, Uds, vi-comandoy vi-insertar. vi is
equivalente a vi-comando; emacs es equivalente a emacs-estándar. El valor predeterminado
is emacs; El valor de modo de edición también afecta al mapa de teclas predeterminado.
keyseq-tiempo de espera (500)
Especifica la duración readline esperará un personaje al leer un ambiguo
secuencia de teclas (una que puede formar una secuencia de teclas completa utilizando la entrada read so
lejos, o puede tomar una entrada adicional para completar una secuencia de teclas más larga). Si no hay entrada
se recibe dentro del tiempo de espera, readline usará la clave más corta pero completa
secuencia. El valor se especifica en milisegundos, por lo que un valor de 1000 significa que
readline esperará un segundo para recibir información adicional. Si esta variable se establece en un
valor menor o igual que cero, o un valor no numérico, readline esperará
hasta que se presione otra tecla para decidir qué secuencia de teclas completar.
directorios de marcas (En)
Si se establece en On, los nombres de directorio completados tienen una barra inclinada.
marcar-líneas-modificadas (Apagado)
Si se establece en On, las lneas del historial que se han modificado se muestran con un
asterisco*).
marcar-directorios-con-enlace-simbólico (Apagado)
Si se establece en On, los nombres completos que son enlaces simbólicos a directorios tienen una barra
adjunto (sujeto al valor de directorios de marcas).
coincidencias-archivos-ocultos (En)
Esta variable, cuando se establece en On, hace que readline coincida con los archivos cuyos nombres comienzan
con un "." (archivos ocultos) al completar el nombre de archivo. Si se establece en DESC, la
líder `. ' debe ser proporcionado por el usuario en el nombre del archivo para ser completado.
menú-pantalla-completa-prefijo (Apagado)
Si se establece en On, la finalización del menú muestra el prefijo común de la lista de posibles
completaciones (que pueden estar vacías) antes de recorrer la lista.
meta-salida (Apagado)
Si se establece en On, readline mostrará caracteres con el octavo bit configurado directamente
en lugar de como una secuencia de escape con prefijo meta.
finalizaciones de página (En)
Si se establece en On, readline utiliza un interno más, -como buscapersonas para mostrar una pantalla llena de
posibles terminaciones a la vez.
imprimir-terminaciones-horizontalmente (Apagado)
Si se establece en On, readline mostrará las finalizaciones con las coincidencias ordenadas horizontalmente en
orden alfabético, en lugar de hacia abajo en la pantalla.
revertir todo en nueva línea (Apagado)
Si se establece en On, readline deshará todos los cambios en las líneas del historial antes de regresar cuando
aceptar línea es ejecutado. De forma predeterminada, las líneas del historial se pueden modificar y conservar
listas de deshacer individuales a través de llamadas a readline.
mostrar-todo-si-ambiguo (Apagado)
Esto altera el comportamiento predeterminado de las funciones de finalización. Si se establece en On, palabras
que tienen más de una posible finalización hacen que las coincidencias se enumeren
inmediatamente en lugar de tocar el timbre.
mostrar-todo-si-sin-modificar (Apagado)
Esto altera el comportamiento predeterminado de las funciones de finalización de una manera similar
a mostrar-todo-si-ambiguo. Si se establece en On, palabras que tienen más de una posible
finalización sin ninguna posible finalización parcial (las posibles finalizaciones no
comparten un prefijo común) hacen que las coincidencias se enumeren inmediatamente en lugar de
tocando el timbre.
mostrar-modo-en-prompt (Apagado)
Si se establece en On, agregue un carácter al principio de la solicitud que indica la edición
modo: emacs (@), comando vi (:) o inserción vi (+).
saltar-texto-completo (Apagado)
Si se establece en On, esto altera el comportamiento de finalización predeterminado al insertar un solo
coincidir en la línea. Solo está activo cuando se realiza la finalización en medio de
una palabra. Si está habilitado, readline no inserta caracteres de la terminación que
hacer coincidir caracteres después del punto en la palabra que se está completando, por lo que partes de la palabra
que siguen al cursor no se duplican.
estadísticas-visibles (Apagado)
Si se establece en On, un carácter que denota el tipo de archivo según lo informado por stat(2) se adjunta
al nombre del archivo cuando se enumeran las posibles terminaciones.

Readline Condicional Construcciones
Readline implementa una función similar en espíritu a las funciones de compilación condicional
del preprocesador de C que permite que las combinaciones de teclas y la configuración de variables se realicen como
el resultado de las pruebas. Se utilizan cuatro directivas de analizador.

$ si El $ si La construcción permite hacer enlaces basados ​​en el modo de edición, el
terminal que se está utilizando, o la aplicación que utiliza readline. El texto de la prueba
se extiende hasta el final de la línea; no se requieren caracteres para aislarlo.

modo El modo = forma de la $ si La directiva se usa para probar si readline está en
modo emacs o vi. Esto se puede utilizar junto con el set mapa de teclas
comando, por ejemplo, para establecer enlaces en el emacs-estándar y emacs-ctlx
mapas de teclas solo si readline se está iniciando en modo emacs.

término El término = El formulario se puede utilizar para incluir combinaciones de teclas específicas de la terminal,
quizás para vincular las secuencias de teclas generadas por las teclas de función del terminal.
La palabra en el lado derecho del = se prueba con el nombre completo de ambos
la terminal y la parte del nombre de la terminal antes del primer -. Esto
permite sol para que coincida con ambos sol y sol-cmd, Por ejemplo.

solicitud en línea.
El solicitud en línea. La construcción se utiliza para incluir configuraciones específicas de la aplicación.
Cada programa que usa la biblioteca readline establece el solicitud en línea. nombre , Y un
El archivo de inicialización puede probar un valor particular. Esto podría usarse para
vincular secuencias de teclas a funciones útiles para un programa específico. Para
instancia, el siguiente comando agrega una secuencia de teclas que cita el actual
o palabra anterior en golpear:

$ si Comandos de Bash
# Cita la palabra actual o anterior
"\ C-xq": "\ eb \" \ ef \ ""
$ endif

$ endif Este comando, como se ve en el ejemplo anterior, termina un $ si mando.

$ más Los comandos de esta rama del $ si directiva se ejecutan si la prueba falla.

$ incluir
Esta directiva toma un solo nombre de archivo como argumento y lee comandos y
enlaces de ese archivo. Por ejemplo, la siguiente directiva leería
/ etc / inputrc:

$ incluir / etc / inputrc

Búsqueda
Readline proporciona comandos para buscar en el historial de comandos (consulte HISTORIA a continuación)
para líneas que contienen una cadena especificada. Hay dos modos de búsqueda: incrementales y no-
incrementales.

Las búsquedas incrementales comienzan antes de que el usuario haya terminado de escribir la cadena de búsqueda. Como cada
se escribe el carácter de la cadena de búsqueda, readline muestra la siguiente entrada del historial
coincidiendo con la cadena escrita hasta ahora. Una búsqueda incremental solo requiere tantos caracteres
según sea necesario para encontrar la entrada de historial deseada. Los personajes presentes en el valor de la
isearch-terminadores se utilizan para terminar una búsqueda incremental. Si eso
a la variable no se le ha asignado un valor, los caracteres Escape y Control-J terminarán
una búsqueda incremental. Control-G abortará una búsqueda incremental y restaurará la
línea original. Cuando finaliza la búsqueda, la entrada del historial que contiene la búsqueda
la cadena se convierte en la línea actual.

Para buscar otras entradas coincidentes en la lista del historial, escriba Control-S o Control-R como
apropiado. Esto buscará hacia atrás o hacia adelante en el historial para la siguiente entrada.
que coincida con la cadena de búsqueda escrita hasta ahora. Cualquier otra secuencia de teclas vinculada a una línea de lectura
comando terminará la búsqueda y ejecutará ese comando. Por ejemplo, un nueva línea seguirá
terminar la búsqueda y aceptar la línea, ejecutando así el comando del historial
lista.

Readline recuerda la última cadena de búsqueda incremental. Si se escriben dos Control-R
sin ningún carácter intermedio que defina una nueva cadena de búsqueda, cualquier búsqueda recordada
se utiliza una cadena.

Las búsquedas no incrementales leen la cadena de búsqueda completa antes de comenzar a buscar
coincidencia de líneas de historia. La cadena de búsqueda puede ser escrita por el usuario o ser parte de la
contenido de la línea actual.

Readline Comando nombres
La siguiente es una lista de los nombres de los comandos y las secuencias de teclas predeterminadas para
que están obligados. Los nombres de los comandos sin una secuencia de teclas adjunta no están vinculados por
defecto. En las siguientes descripciones, punto se refiere a la posición actual del cursor, y
marca se refiere a una posición del cursor guardada por el marca de conjunto mando. El texto entre el
El punto y la marca se denominan región.

Comandos para Emocionante
principio de línea (California)
Moverse al inicio de la línea actual.
fin de la línea (Ce)
Muévete hasta el final de la línea.
adelante-char (Cf)
Avanza un personaje.
char al revés (Cb)
Retrocede un personaje.
palabra de avance (Mf)
Avanza hasta el final de la siguiente palabra. Las palabras se componen de caracteres alfanuméricos
caracteres (letras y dígitos).
palabra al revés (Megabyte)
Vuelve al inicio de la palabra actual o anterior. Las palabras se componen de
caracteres alfanuméricos (letras y dígitos).
shell-forward-palabra
Avanza hasta el final de la siguiente palabra. Las palabras están delimitadas por shell no entre comillas
metacaracteres.
palabra-shell-al revés
Retroceder al inicio de la palabra actual o anterior. Las palabras están delimitadas por
metacaracteres de shell no citados.
pantalla clara (Cl)
Limpia la pantalla dejando la línea actual en la parte superior de la pantalla. Con un
argumento, actualice la línea actual sin borrar la pantalla.
redibujar la línea actual
Actualiza la línea actual.

Comandos para Manipulando las Historia
aceptar línea (Nueva línea, Regreso)
Acepte la línea independientemente de dónde esté el cursor. Si esta línea no está vacía, agregue
a la lista de historial de acuerdo con el estado de la SU CONTROL variable. Si el
línea es una línea de historia modificada, luego restaure la línea de historia a su original
estado.
historia previa (Cp)
Obtenga el comando anterior de la lista del historial, retrocediendo en la lista.
siguiente historia (Cn)
Obtenga el siguiente comando de la lista del historial, avanzando en la lista.
comienzo de la historia (M- <)
Vaya a la primera línea del historial.
fin de la historia (M->)
Ir al final del historial de entrada, es decir, la línea que se está ingresando actualmente.
historial de búsqueda inversa (Cr)
Busque hacia atrás comenzando en la línea actual y moviéndose hacia arriba a través del historial como
necesario. Esta es una búsqueda incremental.
historial de búsqueda hacia adelante (Cs)
Busque hacia adelante comenzando en la línea actual y avanzando hacia abajo a través del historial
según sea necesario. Esta es una búsqueda incremental.
historial de búsqueda inversa no incremental (Mp)
Busque hacia atrás a través del historial comenzando en la línea actual usando un
búsqueda incremental de una cadena proporcionada por el usuario.
historial de búsqueda hacia adelante no incremental (Minnesota)
Busque hacia adelante en el historial utilizando una búsqueda no incremental de una cadena
suministrado por el usuario.
historia-búsqueda-adelante
Busque en el historial la cadena de caracteres entre el comienzo
de la línea actual y el punto. Esta es una búsqueda no incremental.
historia-búsqueda-hacia atrás
Busque hacia atrás en el historial la cadena de caracteres entre el comienzo
de la línea actual y el punto. Esta es una búsqueda no incremental.
tirón-n-ésimo-arg (MCy)
Inserte el primer argumento en el comando anterior (generalmente la segunda palabra en el
línea anterior) en el punto. Con un argumento n, inserte el nla palabra de la anterior
comando (las palabras en el comando anterior comienzan con la palabra 0). Un argumento negativo
inserta el nla palabra del final del comando anterior. Una vez que el argumento n is
calculado, el argumento se extrae como si el "!n"la expansión de la historia había sido
especificado.
tirar-último-arg (METRO-., METRO-_)
Inserte el último argumento del comando anterior (la última palabra del anterior
entrada de historial). Con un argumento numérico, se comporta exactamente como tirón-n-ésimo-arg.
Llamadas sucesivas a tirar-último-arg retroceder por la lista del historial, insertando el
última palabra (o la palabra especificada por el argumento de la primera llamada) de cada línea en
girar. Cualquier argumento numérico proporcionado a estas sucesivas llamadas determina el
dirección para moverse a través de la historia. Un argumento negativo cambia la dirección
a través de la historia (hacia atrás o hacia adelante). Se utilizan las instalaciones de expansión histórica.
para extraer la última palabra, como si se hubiera especificado la expansión del historial "! $".
línea de expansión de shell (MCe)
Expande la línea como lo hace el caparazón. Esto realiza la expansión de alias e historial como
así como todas las expansiones de palabras de shell. Ver HISTORIA EXPANSIÓN a continuación para un
descripción de la expansión de la historia.
historia-expand-line (M- ^)
Realice la expansión del historial en la línea actual. Ver HISTORIA EXPANSIÓN a continuación para un
descripción de la expansión de la historia.
espacio mágico
Realice la expansión del historial en la línea actual e inserte un espacio. Ver HISTORIA
EXPANSIÓN a continuación para obtener una descripción de la expansión de la historia.
alias-expandir-línea
Realice la expansión de alias en la línea actual. Ver ALIAS arriba para una descripción
de expansión de alias.
historial-y-alias-expand-line
Realice la expansión de historial y alias en la línea actual.
insertar-último-argumento (METRO-., METRO-_)
Sinónimo de tirar-último-arg.
operar-y-obtener-siguiente (Co)
Acepte la línea actual para su ejecución y obtenga la siguiente línea relativa a la
línea actual del historial para su edición. Se ignora cualquier argumento.
comando editar y ejecutar (CxCe)
Invocar un editor en la línea de comando actual y ejecutar el resultado como shell
comandos. Comandos de Bash intenta invocar $ VISUAL, $ EDITORy emacs como editor, en
ese orden.

Comandos para Cambiar Texto
fin del documento (Por lo general CD)
El carácter que indica el final del archivo establecido, por ejemplo, por `` stty ''. Si esto
El carácter se lee cuando no hay caracteres en la línea, y el punto está en el
principio de la línea, Readline lo interpreta como el final de la entrada y devuelve EOF.
eliminar-char (CD)
Elimina el carácter en el punto. Si esta función está vinculada al mismo carácter que
el tty EOF personaje, como Discos compactos comúnmente es, vea arriba los efectos.
retroceder-borrar-char (Borrar)
Elimina el carácter detrás del cursor. Cuando se le dé un argumento numérico, guarde el
texto eliminado en el anillo de la muerte.
adelante-atrás-eliminar-char
Elimine el carácter debajo del cursor, a menos que el cursor esté al final de la línea,
en cuyo caso se elimina el carácter detrás del cursor.
inserto-cotizado (Cq, CV)
Agregue el siguiente carácter escrito a la línea textualmente. Esta es la forma de insertar
personajes como Cq, por ejemplo.
inserción de pestañas (CV PESTAÑA)
Inserte un carácter de tabulación.
autoinserto (un, b, A, 1, !, ...)
Inserte el carácter escrito.
transponer-caracteres (Connecticut)
Arrastre el carácter antes de apuntar hacia adelante sobre el carácter en el punto, mover el punto
adelante también. Si el punto está al final de la línea, entonces esto transpone los dos
caracteres antes del punto. Los argumentos negativos no tienen ningún efecto.
transponer-palabras (Monte)
Arrastre la palabra antes del punto más allá de la palabra después del punto, moviendo el punto sobre esa palabra
así como. Si el punto está al final de la línea, esto transpone las dos últimas palabras en
la línea.
palabra-upcase (Mu)
Escriba en mayúsculas la palabra actual (o la siguiente). Con un argumento negativo, escriba en mayúsculas
palabra anterior, pero no mueva el punto.
palabra en minúscula (Ml)
Ponga en minúsculas la palabra actual (o la siguiente). Con un argumento negativo, poner en minúscula
palabra anterior, pero no mueva el punto.
capitalizar-palabra (Mc)
Escriba con mayúscula la palabra actual (o la siguiente). Con un argumento negativo, capitalice
la palabra anterior, pero no mueva el punto.
modo de sobrescritura
Alternar el modo de sobrescritura. Con un argumento numérico positivo explícito, cambia a
modo de sobrescritura. Con un argumento numérico explícito no positivo, cambia a insertar
modo. Este comando afecta solo emacs modo; vi el modo sobrescribe de manera diferente.
Cada llamada a readline () comienza en el modo de inserción. En el modo de sobrescritura, los caracteres enlazados
a autoinserto reemplace el texto en el punto en lugar de empujar el texto hacia la derecha.
Personajes ligados a retroceder-borrar-char reemplace el carácter antes del punto con un
espacio. Por defecto, este comando no esta ligado.

Matanza y Tirando
línea de muerte (Ck)
Mata el texto desde el punto hasta el final de la línea.
línea de muerte hacia atrás (Cx Borrar)
Mata hacia atrás hasta el principio de la línea.
unix-line-descartar (Cu)
Mata hacia atrás desde el punto hasta el principio de la línea. El texto eliminado se guarda en
el anillo de la muerte.
matar-línea-entera
Mata a todos los personajes de la línea actual, sin importar dónde esté el punto.
palabra de muerte (Maryland)
Mata desde el punto hasta el final de la palabra actual, o si está entre palabras, hasta el final de
la siguiente palabra. Los límites de las palabras son los mismos que los utilizados por palabra de avance.
palabra-de-muerte-hacia-atrás (M-Rubout)
Mata la palabra detrás del punto. Los límites de las palabras son los mismos que los utilizados por
palabra al revés.
Shell-matar-palabra (Maryland)
Mata desde el punto hasta el final de la palabra actual, o si está entre palabras, hasta el final de
la siguiente palabra. Los límites de las palabras son los mismos que los utilizados por shell-forward-palabra.
shell-backward-kill-palabra (M-Rubout)
Mata la palabra detrás del punto. Los límites de las palabras son los mismos que los utilizados por
palabra-shell-al revés.
unix-word-rubout (Cw)
Elimine la palabra detrás del punto, utilizando espacios en blanco como límite de palabras. El texto asesinado
se guarda en el kill-ring.
unix-nombre-de-archivo-rubout
Elimine la palabra detrás del punto, usando espacios en blanco y el carácter de barra como palabra
límites. El texto muerto se guarda en el anillo de muerte.
eliminar-espacio-horizontal (METRO-\)
Elimine todos los espacios y tabulaciones alrededor del punto.
región de muerte
Mata el texto en la región actual.
copiar-región-como-matar
Copie el texto de la región en el búfer de eliminación.
copiar-palabra-hacia-atrás
Copie la palabra antes de apuntar al búfer de eliminación. Los límites de las palabras son los mismos que
palabra al revés.
copiar-reenviar-palabra
Copie la palabra siguiente punto en el búfer de eliminación. Los límites de las palabras son los mismos
as palabra de avance.
tirón (Cy)
Tire de la parte superior del anillo de muerte en el búfer en el punto.
yanqui pop (Mi)
Gire el anillo de muerte y tire de la nueva parte superior. Solo funciona siguiendo tirón or yanqui pop.

Numérico Argumentos
argumento-digito (M-0, M-1 ... METRO--)
Agregue este dígito al argumento que ya se está acumulando o comience un nuevo argumento. METRO--
comienza un argumento negativo.
argumento-universal
Esta es otra forma de especificar un argumento. Si este comando va seguido de uno o
más dígitos, opcionalmente con un signo menos inicial, esos dígitos definen el
argumento. Si el comando va seguido de dígitos, ejecutar argumento-universal de nuevo
finaliza el argumento numérico, pero de lo contrario se ignora. Como caso especial, si este
El comando es seguido inmediatamente por un carácter que no es ni un dígito ni un signo menos.
signo, el recuento de argumentos para el siguiente comando se multiplica por cuatro. El argumento
El recuento es inicialmente uno, por lo que ejecutar esta función la primera vez hace que el
argumento cuenta cuatro, una segunda vez hace que el argumento cuente dieciséis, y así sucesivamente.

Completando
completar (TAB)
Intente completar el texto antes del punto. Comandos de Bash intenta completar
tratar el texto como una variable (si el texto comienza con $), nombre de usuario (si el texto
empieza con ~), nombre de host (si el texto comienza con @) o comando (incluidos los alias
y funciones) a su vez. Si ninguno de estos produce una coincidencia, la finalización del nombre de archivo es
intentó.
posibles terminaciones (METRO-?)
Enumere las posibles terminaciones del texto antes del punto.
insertar-compleciones (METRO-*)
Inserte todas las terminaciones del texto antes del punto que habría generado
posibles terminaciones.
menú completo
Similar a completar, pero reemplaza la palabra que se completará con una sola coincidencia de
la lista de posibles terminaciones. Ejecución repetida de menú completo pasos
a través de la lista de posibles completaciones, insertando cada coincidencia por turno. Al final
de la lista de terminaciones, suena la campana (sujeto a la configuración de estilo campana)
y se restaura el texto original. Un argumento de n se mueve n posiciones adelante en
la lista de coincidencias; un argumento negativo se puede utilizar para retroceder a través de la
lista. Este comando está destinado a estar vinculado a TAB, pero no está consolidado de forma predeterminada.
menú-completo-al revés
Idéntico a menú completo, pero retrocede por la lista de posibles
terminaciones, como si menú completo se le había dado un argumento negativo. Este comando
no está consolidado por defecto.
eliminar-carácter-o-lista
Elimina el carácter debajo del cursor si no está al principio o al final de la línea
(como el eliminar-char). Si al final de la línea, se comporta de manera idéntica a
posibles terminaciones. Este comando no está vinculado de forma predeterminada.
nombre de archivo completo (METRO-/)
Intente completar el nombre de archivo en el texto antes del punto.
posibles finalizaciones de nombre de archivo (Cx /)
Enumere las posibles terminaciones del texto antes del punto, tratándolo como un nombre de archivo.
nombre de usuario completo (M- ~)
Intente completar el texto antes del punto, tratándolo como un nombre de usuario.
posibles finalizaciones de nombre de usuario (Cx ~)
Enumere las posibles terminaciones del texto antes del punto, tratándolo como un nombre de usuario.
variable-completa (M- $)
Intente completar el texto antes del punto, tratándolo como una variable de shell.
posibles-variables-terminaciones (Cx $)
Enumere las posibles terminaciones del texto antes del punto, tratándolo como un caparazón
variable.
nombre de host completo (METRO-@)
Intente completar el texto antes del punto, tratándolo como un nombre de host.
posibles finalizaciones de nombre de host (Cx @)
Enumere las posibles terminaciones del texto antes del punto, tratándolo como un nombre de host.
comando completo (METRO-!)
Intente completar el texto antes del punto, tratándolo como un nombre de comando.
La finalización del comando intenta hacer coincidir el texto con alias, palabras reservadas,
funciones de shell, elementos internos de shell y, finalmente, nombres de archivos ejecutables, en ese orden.
posibles finalizaciones de comandos (Cx !)
Enumere las posibles terminaciones del texto antes del punto, tratándolo como un comando
nombre.
historia-completa-dinámica (M-TAB)
Intente completar el texto antes del punto, comparando el texto con las líneas de
la lista de historial para posibles coincidencias de finalización.
dabbrev-expandir
Intente completar el menú en el texto antes del punto, comparando el texto con las líneas
de la lista del historial para posibles coincidencias de finalización.
completo en tirantes (METRO-{)
Realice la finalización del nombre de archivo e inserte la lista de posibles finalizaciones adjunta
entre llaves para que la lista esté disponible para el shell (ver Abrazadera Expansión encima).

Teclado Macros
inicio-kbd-macro (Cx ()
Comience a guardar los caracteres escritos en la macro de teclado actual.
fin-kbd-macro (Cx ))
Deje de guardar los caracteres escritos en la macro del teclado actual y almacene la
definición.
llamar-last-kbd-macro (Cx e)
Vuelva a ejecutar la última macro de teclado definida, haciendo que los caracteres de la macro
aparecer como si estuviera escrito en el teclado.
imprimir-última-kbd-macro ()
Imprima la última macro de teclado definida en un formato adecuado para el entradarc archivo.

Observaciones
volver a leer el archivo de inicio (Cx Cr)
Leer en el contenido de la entradarc archivo e incorporar cualquier enlace o variable
asignaciones encontradas allí.
abortar (Cg)
Abortar el comando de edición actual y hacer sonar el timbre del terminal (sujeto a la
ajuste de estilo campana).
do-versión-en-mayúsculas (Mamá, Megabyte, M-x, ...)
Si el personaje metafied x está en minúsculas, ejecute el comando que está vinculado al
el carácter en mayúscula correspondiente.
prefijo-meta (ESC)
Metafy el siguiente carácter escrito. ESC f es equivalente a meta-f.
deshacer (C-_, Cx Cu)
Deshacer incremental, recordado por separado para cada línea.
revertir la línea (Señor)
Deshaga todos los cambios realizados en esta línea. Esto es como ejecutar el deshacer comando suficiente
veces para devolver la línea a su estado inicial.
tilde-expandir (METRO-&)
Realice una expansión de tilde en la palabra actual.
marca de conjunto (C-@, METRO- )
Establezca la marca en el punto. Si se proporciona un argumento numérico, la marca se establece en
esa posición.
cambio-punto-y-marca (Cx Cx)
Cambie el punto por la marca. La posición actual del cursor se establece en la guardada.
posición, y la posición anterior del cursor se guarda como la marca.
búsqueda de personajes (C-])
Se lee un carácter y el punto se mueve a la siguiente aparición de ese carácter. A
búsquedas de recuento negativo para ocurrencias anteriores.
carácter-búsqueda-hacia atrás (MC-])
Se lee un carácter y se mueve el punto a la ocurrencia anterior de ese
personaje. Un recuento negativo busca ocurrencias posteriores.
saltar-secuencia-csi
Leer suficientes caracteres para consumir una secuencia de varias teclas como las definidas para
teclas como Inicio y Fin. Dichas secuencias comienzan con un indicador de secuencia de control.
(CSI), normalmente ESC- [. Si esta secuencia está vinculada a "\ [", las claves que producen tales
Las secuencias no tendrán ningún efecto a menos que estén vinculadas explícitamente a un comando readline,
en lugar de insertar caracteres extraviados en el búfer de edición. Esto está desatado por
predeterminado, pero normalmente vinculado a ESC- [.
Insertar comentario (METRO-#)
Sin un argumento numérico, el valor de la línea de lectura comentario-comenzar variable es
insertado al principio de la línea actual. Si se proporciona un argumento numérico,
este comando actúa como un conmutador: si los caracteres al principio de la línea no
no coincide con el valor de comentario-comenzar, se inserta el valor, de lo contrario el
personajes en comentario-comenzar se eliminan desde el principio de la línea. En cualquiera
En este caso, la línea se acepta como si se hubiera escrito una nueva línea. El valor predeterminado de
comentario-comenzar hace que este comando convierta la línea actual en un comentario de shell. Si un
argumento numérico hace que se elimine el carácter de comentario, la línea será
ejecutado por el shell.
palabra-completa-glob (Mg)
La palabra antes del punto se trata como un patrón para la expansión del nombre de ruta, con un
asterisco adjunto implícitamente. Este patrón se utiliza para generar una lista de coincidencias
nombres de archivo para posibles finalizaciones.
globo-expandir-palabra (Cx *)
La palabra antes del punto se trata como un patrón para la expansión del nombre de ruta, y la lista
de nombres de archivo coincidentes se inserta, reemplazando la palabra. Si un argumento numérico es
suministrado, se añade un asterisco antes de la expansión del nombre de ruta.
expansiones-de-lista-global (Cx g)
La lista de expansiones que habría generado globo-expandir-palabra is
se muestra y se vuelve a dibujar la línea. Si se proporciona un argumento numérico, un asterisco
se agrega antes de la expansión del nombre de ruta.
funciones de volcado
Imprima todas las funciones y sus combinaciones de teclas en el flujo de salida de readline.
Si se proporciona un argumento numérico, la salida se formatea de tal manera que
puede ser parte de un entradarc archivo.
volcado-variables
Imprima todas las variables de readline configurables y sus valores en readline
salida de corriente. Si se proporciona un argumento numérico, la salida se formatea en tal
de una manera que pueda ser parte de un entradarc archivo.
volcado-macros
Imprima todas las secuencias de teclas de readline vinculadas a macros y las cadenas que
producción. Si se proporciona un argumento numérico, la salida se formatea de tal manera
que puede formar parte de un entradarc archivo.
display-shell-versión (Cx CV)
Mostrar información de versión sobre la instancia actual de golpear.

Programable Cierre
Cuando se intenta completar una palabra para un argumento de un comando para el cual se
especificación (una compspec) se ha definido utilizando el completar incorporado (ver SHELL INCORPORADO
COMANDOS a continuación), se invocan las facilidades de finalización programables.

Primero, se identifica el nombre del comando. Si la palabra de comando es la cadena vacía
(finalización intentada al principio de una línea vacía), cualquier compspec definida con el -E
opción de completar se utiliza. Si se ha definido una compspec para ese comando, la compspec
se utiliza para generar la lista de posibles terminaciones de la palabra. Si la palabra de comando es
primero se busca un nombre de ruta completo, una compspec para el nombre de ruta completo. Si no hay compspec
se encuentra para el nombre de ruta completo, se intenta encontrar una compspec para la parte
siguiendo la barra final. Si esas búsquedas no dan como resultado una compspec, cualquier compspec
definido con el -D opción de completar se utiliza por defecto.

Una vez que se ha encontrado una compspec, se utiliza para generar la lista de palabras coincidentes. Si un
compspec no se encuentra, el valor predeterminado golpear finalización como se describe arriba en Completando is
realizado.

Primero, se utilizan las acciones especificadas por compspec. Solo coincidencias con el prefijo
se devuelven la palabra que se está completando. Cuando el -f or -d La opción se utiliza para el nombre de archivo o
finalización del nombre del directorio, la variable de shell FIGNORE se utiliza para filtrar las coincidencias.

Cualquier finalización especificada por un patrón de expansión de nombre de ruta al -G se generan opciones
Siguiente. Las palabras generadas por el patrón no necesitan coincidir con la palabra que se completa. los
GLOBIGNORAR La variable de shell no se utiliza para filtrar las coincidencias, pero la FIGNORE variable es
usado.

A continuación, la cadena especificada como argumento de la -W se considera la opción. La cuerda es
primera división usando los caracteres en el IFS variable especial como delimitadores. Cotización de Shell
es honrado. Luego, cada palabra se expande usando expansión de llaves, expansión de tilde, parámetro
y expansión de variables, sustitución de comandos y expansión aritmética, como se describe anteriormente
bajo EXPANSIÓN. Los resultados se dividen utilizando las reglas descritas anteriormente en Palabra
Splitting. Los resultados de la expansión se comparan con el prefijo de la palabra
completado, y las palabras coincidentes se convierten en posibles completaciones.

Después de que se hayan generado estas coincidencias, cualquier función de shell o comando especificado con el
-F y -C se invoca opciones. Cuando se invoca el comando o la función, el COMP_LINE,
COMP_PUNTO, COMP_CLAVEy COMP_TIPO A las variables se les asignan valores como se describe arriba en
Cáscara Variables. Si se invoca una función de shell, la PALABRAS_COMP y COMP_CWORD
también se establecen variables. Cuando se invoca la función o comando, el primer argumento ($1)
es el nombre del comando cuyos argumentos se están completando, el segundo argumento ($2)
es la palabra que se completa, y el tercer argumento ($3) es la palabra que precede a la palabra
completarse en la línea de comando actual. Sin filtrado de las terminaciones generadas
contra la palabra que se completa se realiza; la función o comando se ha completado
libertad para generar los partidos.

Cualquier función especificada con -F se invoca primero. La función puede usar cualquiera de los shell
instalaciones, incluida la compilar incorporado que se describe a continuación, para generar las coincidencias. Eso
Debe poner las posibles terminaciones en el COMPLETAR variable de matriz, una por elemento de matriz.

A continuación, cualquier comando especificado con el -C La opción se invoca en un entorno equivalente a
sustitución de mando. Debería imprimir una lista de terminaciones, una por línea, al
salida estándar. La barra invertida se puede utilizar para escapar de una nueva línea, si es necesario.

Después de que se generen todas las finalizaciones posibles, cualquier filtro especificado con el -X
La opción se aplica a la lista. El filtro es un patrón que se utiliza para la expansión del nombre de ruta; a
& en el patrón se reemplaza con el texto de la palabra que se completa. Un literal & podrían
escapar con una barra invertida; la barra invertida se elimina antes de intentar una coincidencia. Ningún
la finalización que coincida con el patrón se eliminará de la lista. Un liderazgo ! niega
el patrón; en este caso, se eliminará cualquier terminación que no coincida con el patrón.

Finalmente, cualquier prefijo y sufijo especificado con la -P y -S se añaden opciones a cada
miembro de la lista de finalización, y el resultado se devuelve al código de finalización de readline
como la lista de posibles terminaciones.

Si las acciones aplicadas anteriormente no generan coincidencias, y el -o nombres de directorio opción
fue suministrado a completar cuando se definió compspec, la finalización del nombre del directorio es
intentó.

Si -o plusdirs se suministró la opción a completar cuando se definió el compspec,
Se intenta completar el nombre del directorio y las coincidencias se agregan a los resultados de la
otras acciones.

De forma predeterminada, si se encuentra una especificación de compilación, todo lo que genera se devuelve al final
código como el conjunto completo de posibles terminaciones. El valor por defecto golpear las terminaciones no son
intentado, y el valor predeterminado de readline de completar el nombre de archivo está deshabilitado. Si el -o
bash por defecto se suministró la opción a completar cuando se definió el compspec, el golpear
se intentan completaciones predeterminadas si compspec no genera coincidencias. Si el -o tu préstamo estudiantil
se suministró la opción a completar cuando se definió compspec, readline's default
La finalización se realizará si la especificación de la composición (y, si se intenta, la especificación golpear
terminaciones) no generan coincidencias.

Cuando una compspec indica que se desea completar el nombre del directorio, el programable
Las funciones de finalización obligan a readline a agregar una barra a los nombres completos que son
enlaces simbólicos a directorios, sujetos al valor de la directorios de marcas readline
variable, independientemente del ajuste de la marcar-directorios-con-enlace-simbólico variable readline.

Existe cierto soporte para modificar dinámicamente las terminaciones. Esto es más útil cuando
utilizado en combinación con una terminación predeterminada especificada con completar -D. Es posible
para las funciones de shell ejecutadas como controladores de finalización para indicar que la finalización debe ser
reintentado devolviendo un estado de salida de 124. Si una función de shell devuelve 124 y cambia
la compspec asociada con el comando en el que se intenta completar (suministrado
como primer argumento cuando se ejecuta la función), la finalización programable se reinicia
desde el principio, con un intento de encontrar una nueva compspec para ese comando. Esto permite
un conjunto de terminaciones que se construirán dinámicamente a medida que se intenta completar, en lugar de ser
cargados todos a la vez.

Por ejemplo, asumiendo que hay una biblioteca de especificaciones, cada una guardada en un archivo
correspondiente al nombre del comando, la siguiente función de finalización predeterminada sería
cargar finalizaciones dinámicamente:

_completion_loader ()
{
. "/etc/bash_completion.d/$ 1.sh "> / dev / null 2> & 1 && return 124
}
complete -D -F _completion_loader -o bashdefault -o predeterminado

HISTORIA


Cuando el -o historia opción a la set incorporado está habilitado, el shell proporciona acceso al
comando historia, la lista de comandos escritos previamente. El valor de la SU TAMAÑO
La variable se usa como el número de comandos para guardar en una lista de historial. El texto de la
pasado SU TAMAÑO comandos (por defecto 500) se guarda. El shell almacena cada comando en el
lista de historial antes de la expansión de parámetros y variables (ver EXPANSIÓN arriba) pero después
Se realiza la expansión del historial, sujeto a los valores de las variables de shell. HISTORIA
y SU CONTROL.

Al inicio, el historial se inicializa desde el archivo nombrado por la variable ARCHIVO HISTÓRICO
(defecto ~ / .bash_history). El archivo nombrado por el valor de ARCHIVO HISTÓRICO está truncado, si
necesario, para contener no más que el número de líneas especificado por el valor de
TAMAÑOARCHIVOHIST. Si TAMAÑOARCHIVOHIST está desarmado, o establecido en nulo, un valor no numérico o un valor numérico
valor menor que cero, el archivo histórico no se trunca. Cuando se lee el archivo de historial,
Las líneas que comienzan con el carácter de comentario histórico seguido inmediatamente por un dígito son
interpretado como marcas de tiempo para la línea de historial anterior. Estas marcas de tiempo son opcionalmente
mostrado dependiendo del valor de la FORMATO DE HORA variable. Cuando un caparazón con
historial habilitado salidas, la última $ HISTSIZE las líneas se copian de la lista del historial a
$ HISTFILE. Si el histappend La opción de shell está habilitada (consulte la descripción de comprado bajo
SHELL INCORPORADO COMANDOS a continuación), las líneas se adjuntan al archivo de historial; de lo contrario, el
El archivo histórico se sobrescribe. Si ARCHIVO HISTÓRICO no está configurado, o si el archivo del historial no se puede escribir,
la historia no se guarda. Si el FORMATO DE HORA la variable está configurada, las marcas de tiempo se escriben
al archivo de historial, marcado con el carácter de comentario de historial, para que se puedan conservar
a través de sesiones de shell. Esto usa el carácter de comentario del historial para distinguir las marcas de tiempo.
de otras líneas históricas. Después de guardar el historial, el archivo del historial se trunca a
contener no más de TAMAÑOARCHIVOHIST líneas. Si TAMAÑOARCHIVOHIST está desarmado, o puesto a nulo, un no-
valor numérico, o un valor numérico menor que cero, el archivo histórico no se trunca.

El comando incorporado fc (consulta: SHELL INCORPORADO COMANDOS a continuación) se puede utilizar para enumerar o editar y
Vuelva a ejecutar una parte de la lista del historial. El historia incorporado se puede utilizar para mostrar o
modificar la lista del historial y manipular el archivo del historial. Al utilizar la edición de la línea de comandos,
Los comandos de búsqueda están disponibles en cada modo de edición que brindan acceso al historial.
lista.

El shell permite controlar qué comandos se guardan en la lista del historial. El
SU CONTROL y HISTORIA Las variables se pueden configurar para hacer que el shell guarde solo un subconjunto
de los comandos ingresados. El cmdhista La opción de shell, si está habilitada, hace que el shell
Intente guardar cada línea de un comando de varias líneas en la misma entrada del historial, agregando
punto y coma cuando sea necesario para preservar la corrección sintáctica. El litista opción de shell
hace que el shell guarde el comando con nuevas líneas incrustadas en lugar de punto y coma. Ver
la descripción de la comprado incorporado debajo debajo SHELL INCORPORADO COMANDOS para obtener información sobre
configurar y desarmar opciones de shell.

HISTORIA EXPANSIÓN


El shell admite una función de expansión del historial que es similar a la expansión del historial en
csh. Esta sección describe qué funciones de sintaxis están disponibles. Esta característica está habilitada
de forma predeterminada para shells interactivos, y se puede deshabilitar utilizando el +H opción a la set
comando incorporado (ver SHELL INCORPORADO COMANDOS debajo). Los shells no interactivos no funcionan
expansión del historial de forma predeterminada.

Las expansiones del historial introducen palabras de la lista del historial en el flujo de entrada,
comandos fáciles de repetir, inserte los argumentos de un comando anterior en la entrada actual
línea, o corregir errores en comandos anteriores rápidamente.

La expansión del historial se realiza inmediatamente después de leer una línea completa, antes del shell
lo rompe en palabras. Se desarrolla en dos partes. El primero es determinar qué línea
de la lista del historial para usar durante la sustitución. El segundo es seleccionar porciones de
esa línea para su inclusión en la actual. La línea seleccionada del historial es la
evento, y las porciones de esa línea sobre las que se actúa son palabras. Varios modificadores en
disponible para manipular las palabras seleccionadas. La línea se divide en palabras en el mismo
como cuando se lee la entrada, de modo que varios metacarácter-palabras separadas rodeadas por
las comillas se consideran una palabra. Las expansiones de la historia se introducen por la aparición de
el carácter de expansión de la historia, que es ! por defecto. Solo barra invertida (\) y soltero
las citas pueden citar el carácter de expansión de la historia.

Varios personajes inhiben la expansión del historial si se encuentran inmediatamente después del historial.
carácter de expansión, incluso si no está entre comillas: espacio, tabulación, nueva línea, retorno de carro y =.
Si extglob la opción de shell está habilitada, ( también inhibirá la expansión.

Varias opciones de shell configurables con el comprado incorporado se puede utilizar para adaptar el comportamiento
de la expansión de la historia. Si el histverificar La opción de shell está habilitada (consulte la descripción de
las comprado incorporado a continuación), y readline se está utilizando, las sustituciones de historia no son
pasó inmediatamente al analizador de shell. En cambio, la línea expandida se vuelve a cargar en el
readline búfer de edición para modificaciones posteriores. Si readline está siendo utilizado, y el
histreeditar La opción de shell está habilitada, una sustitución fallida del historial se volverá a cargar en
las readline búfer de edición para corrección. El -p opción a la historia comando incorporado
puede usarse para ver qué hará una expansión de historial antes de usarla. El -s opción a la
historia incorporado se puede usar para agregar comandos al final de la lista del historial sin
ejecutarlos realmente, de modo que estén disponibles para su posterior recuperación.

El caparazón permite el control de los diversos caracteres utilizados por el mecanismo de expansión del historial.
(ver la descripción de histchars sobre debajo Cáscara Variables). El caparazón usa el
carácter de comentario de historial para marcar las marcas de tiempo del historial al escribir el archivo de historial.

Evento Designadores
Un designador de evento es una referencia a una entrada de línea de comando en la lista del historial. A no ser que
la referencia es absoluta, los eventos son relativos a la posición actual en el historial
lista.

! Iniciar una sustitución del historial, excepto cuando esté seguida de un en blanco, nueva línea, carro
return, = o ((cuando el extglob La opción de shell está habilitada usando el comprado incorporado).
!n Consulte la línea de comando n.
!-n Consulte el comando actual menos n.
!! Consulte el comando anterior. Este es un sinónimo de '! -1'.
!cadena
Consulte el comando más reciente que precede a la posición actual en la lista del historial.
empezando con cadena.
!?cadena[?]
Consulte el comando más reciente que precede a la posición actual en la lista del historial.
que contiene cadena. El final ? puede omitirse si cadena es seguido inmediatamente
por una nueva línea.
^string1^string2^
Sustitución rápida. Repite el comando anterior, reemplazando string1 string2.
Equivalente a `` !!: s /string1/string2/'' (ver Modificadores abajo).
!# Toda la línea de comando escrita hasta ahora.

Palabra Designadores
Los designadores de palabras se utilizan para seleccionar las palabras deseadas del evento. A : separa el evento
especificación de la palabra designador. Puede omitirse si la palabra designador comienza
con un ^, $, *, -o %. Las palabras se numeran desde el principio de la línea, con el
la primera palabra se denota por 0 (cero). Las palabras se insertan en la línea actual separadas
por espacios simples.

0 (cero)
La palabra cero. Para el shell, esta es la palabra de comando.
n El na palabra.
^ El primer argumento. Es decir, palabra 1.
$ La última palabra. Este suele ser el último argumento, pero se expandirá hasta cero.
palabra si solo hay una palabra en la línea.
% La palabra que coincide con el más reciente `?cadena? ' búsqueda.
x-y Una variedad de palabras; `-y'abrevia `0-y'.
* Todas las palabras menos el cero. Este es un sinónimo de '1- $'. No es un error
que se utilizará * si solo hay una palabra en el evento; la cadena vacía se devuelve en
Ese caso.
x* Abrevia x- $.
x- Abrevia x- $ como x*, pero omite la última palabra.

Si se proporciona un designador de palabra sin una especificación de evento, el comando anterior es
utilizado como el evento.

Modificadores
Después del designador de palabra opcional, puede aparecer una secuencia de uno o más de los
siguientes modificadores, cada uno precedido por un `: '.

h Elimina un componente de nombre de archivo final, dejando solo el encabezado.
t Elimine todos los componentes principales del nombre de archivo, dejando la cola.
r Eliminar un sufijo final del formulario . Xxx, dejando el nombre de base.
e Elimine todo menos el sufijo final.
p Imprima el nuevo comando pero no lo ejecute.
q Cite las palabras sustituidas, escapando de más sustituciones.
x Cite las palabras sustituidas como con q, pero rompo en palabras en espacios en blanco y nuevas líneas.
s/los ancianos /nueva/
Suplente nueva para la primera aparición de los ancianos en la línea del evento. Cualquier delimitador
se puede utilizar en lugar de /. El delimitador final es opcional si es el último
carácter de la línea de evento. El delimitador se puede citar en los ancianos y nueva con un
barra invertida única. Si & aparece en nueva, es reemplazado por los ancianos . Una sola barra invertida
citará el &. Si los ancianos es nulo, se establece en el último los ancianos sustituido, o, si no
se llevaron a cabo sustituciones de historia anteriores, las últimas cadena en un parche de !?cadena[?]
buscar.
& Repite la sustitución anterior.
g Hacer que los cambios se apliquen en toda la línea de eventos. Esto se usa en
en conjunción con ':s'(por ejemplo, `: gs /los ancianos /nueva/') o':&'. Si se usa con ':s', ningún
delimitador se puede utilizar en lugar de /, y el delimitador final es opcional si es
el último carácter de la línea de evento. Un a puede usarse como sinónimo de g.
G Aplicar lo siguiente `s'modificador una vez a cada palabra en la línea de evento.

SHELL INCORPORADO COMANDOS


A menos que se indique lo contrario, cada comando incorporado documentado en esta sección acepta
opciones precedidas por - acepta -- para significar el final de las opciones. El :, verdadero, false,
y test incorporados no aceptan opciones y no tratan -- especialmente. El salida, Iniciar sesión,
romper, continue, dejary Turno incorporados aceptan y procesan argumentos que comienzan con -
sin requerir --. Otras incorporaciones que aceptan argumentos pero no se especifican como
aceptar opciones interpretar argumentos que comienzan con - como opciones inválidas y requieren --
para evitar esta interpretación.
: [argumentos]
Sin efecto; el comando no hace nada más que expandirse argumentos y realizando cualquier
redirecciones especificadas. Se devuelve un código de salida cero.

. nombre de archivo [argumentos]
fuente nombre de archivo [argumentos]
Leer y ejecutar comandos desde nombre de archivo en el entorno de shell actual y volver
el estado de salida del último comando ejecutado desde nombre de archivo. Si nombre de archivo no
contienen una barra, los nombres de archivo en TRAYECTORIA se utilizan para encontrar el directorio que contiene
nombre de archivo. El archivo buscado en TRAYECTORIA no necesita ser ejecutable. Cuándo golpear no es
in POSIX modo, se busca en el directorio actual si no se encuentra ningún archivo en TRAYECTORIA. Si
las ruta de origen opción a la comprado comando incorporado está desactivado, el TRAYECTORIA no es
buscado. Si alguna argumentos se suministran, se convierten en los parámetros posicionales
cuando nombre de archivo es ejecutado. De lo contrario, los parámetros posicionales no se modifican. El
El estado de retorno es el estado del último comando que salió dentro del script (0 si no
se ejecutan los comandos), y falso si nombre de archivo no se encuentra o no se puede leer.

alias [-p] [nombre [=propuesta de] ...]
alias sin argumentos o con el -p La opción imprime la lista de alias en la
formulario alias nombre =propuesta de en salida estándar. Cuando se proporcionan argumentos, un alias es
definido para cada nombre cuyo propuesta de es dado. Un espacio final en propuesta de causa el
la siguiente palabra que se comprobará para la sustitución de alias cuando se expanda el alias. Para
cada una nombre en la lista de argumentos para los que no propuesta de se proporciona, el nombre y el valor
del alias se imprime. alias devuelve verdadero a menos que un nombre se da por lo que no
se ha definido el alias.

bg [especificación de trabajo ...]
Reanudar cada trabajo suspendido especificación de trabajo en el fondo, como si se hubiera iniciado con
&. Si especificación de trabajo no está presente, la noción de la cáscara de la corriente trabajo se utiliza. bg
especificación de trabajo devuelve 0 a menos que se ejecute cuando el control del trabajo esté deshabilitado o, cuando se ejecute con el trabajo
control habilitado, cualquier especificado especificación de trabajo no se encontró o se inició sin trabajo
controlar.

se unen [-m mapa de teclas] [-lpsvPSVX]
se unen [-m mapa de teclas] [-q función] [-u función] [-r secuencia de claves]
se unen [-m mapa de teclas] -f nombre de archivo
se unen [-m mapa de teclas] -x secuencia de claves:comando de shell
se unen [-m mapa de teclas] secuencia de claves:nombre de la función
se unen comando readline
Pantalla actual readline vinculaciones de teclas y funciones, vincular una secuencia de teclas a una
readline función o macro, o establecer una readline variable. Cada argumento sin opción
es un comando como aparecería en .entradarc, pero cada enlace o comando debe ser
pasado como un argumento separado; por ejemplo, '"\ Cx \ Cr": re-read-init-file'. Opciones, si
suministrado, tienen los siguientes significados:
-m mapa de teclas
Uso mapa de teclas como el mapa de teclas que se verá afectado por las vinculaciones posteriores.
Aceptable mapa de teclas Los Nombres son emacs, emacs-estándar, emacs-meta, emacs-ctlx,
Uds, vi-muévete, vi-comandoy vi-insertar. vi es equivalente a vi-comando;
emacs es equivalente a emacs-estándar.
-l Lista los nombres de todos readline funciones.
-p Pantalla readline nombres de funciones y enlaces de tal manera que puedan ser
releer.
-P Lista actual readline nombres de funciones y enlaces.
-s Pantalla readline secuencias de teclas vinculadas a macros y las cadenas que generan
de tal manera que se puedan volver a leer.
-S Pantalla readline secuencias de teclas vinculadas a macros y las cadenas que generan.
-v Pantalla readline nombres de variables y valores de tal manera que puedan ser
releer.
-V Lista actual readline nombres y valores de variables.
-f nombre de archivo
Leer combinaciones de teclas de nombre de archivo.
-q función
Consulta sobre qué claves invocan el nombre función.
-u función
Desvincular todas las claves vinculadas al nombre función.
-r secuencia de claves
Eliminar cualquier enlace actual para secuencia de claves.
-x secuencia de claves:comando de shell
Causar comando de shell para ser ejecutado siempre secuencia de claves es ingresado. Cuándo
comando de shell se ejecuta, el shell establece el READLINE_LINE variable a la
contenido del readline búfer de línea y el READLINE_POINT variable a la
ubicación actual del punto de inserción. Si el comando ejecutado cambia
el valor de READLINE_LINE or READLINE_POINT, esos nuevos valores serán
reflejado en el estado de edición.
-X Enumere todas las secuencias de teclas vinculadas a los comandos de shell y los comandos asociados
en un formato que se pueda reutilizar como entrada.

El valor de retorno es 0 a menos que se proporcione una opción no reconocida o se produzca un error.

romper [n]
Salir desde dentro de un para, mientras, hastao selecciona círculo. Si n se especifica, romper n
. n debe ser ≥ 1. Si n es mayor que el número de bucles circundantes, todos
se sale de los bucles circundantes. El valor de retorno es 0 a menos que n no es mayor que o
igual a 1.

incorporado concha incorporada [argumentos]
Ejecute el intérprete de comandos de shell especificado, pasándolo argumentos, y regresa su salida
estado. Esto es útil al definir una función cuyo nombre es el mismo que un shell
incorporado, conservando la funcionalidad del incorporado dentro de la función. El cd
builtin se redefine comúnmente de esta manera. El estado de devolución es falso si
concha incorporada no es un comando integrado de shell.

llamador [expr]
Devuelve el contexto de cualquier llamada de subrutina activa (una función de shell o un script
ejecutado con el . or fuente incorporados). Sin que expr, llamador muestra la línea
número y nombre de archivo de origen de la llamada de subrutina actual. Si un no negativo
entero se suministra como expr, llamador muestra el número de línea, el nombre de la subrutina y
archivo fuente correspondiente a esa posición en la pila de llamadas de ejecución actual.
Esta información adicional se puede utilizar, por ejemplo, para imprimir un seguimiento de pila. El
el marco actual es el marco 0. El valor de retorno es 0 a menos que el shell no se esté ejecutando
una llamada de subrutina o expr no corresponde a un puesto válido en la convocatoria
asociación.

cd [-L|[-P [-e]] [- @]] [dir]
Cambiar el directorio actual a dir. si dir no se proporciona, el valor de la INICIO
La variable de shell es la predeterminada. Cualquier argumento adicional siguiente dir se ignoran
La variable CDPATH define la ruta de búsqueda para el directorio que contiene dir: cada
nombre de directorio en CDPATH es buscado dir. Nombres de directorio alternativos en
CDPATH están separados por dos puntos (:). Un nombre de directorio nulo en CDPATH es el mismo
como el directorio actual, es decir, ''.''. Si dir comienza con una barra (/), luego CDPATH
no se utiliza. El -P causas de la opción cd para usar la estructura de directorio físico por
resolver enlaces simbólicos mientras se atraviesa dir y antes de procesar instancias de ..
in dir (ver también la -P opción a la set comando incorporado); el -L fuerzas de opción
enlaces simbólicos que se seguirán resolviendo el enlace después de procesar instancias de
.. in dir. Si .. aparece en dir, se procesa eliminando el
componente de nombre de ruta anterior de dir, volver a una barra o al principio de dir. Si
las -e la opción se suministra con -P, y el directorio de trabajo actual no se puede
determinado con éxito después de un cambio de directorio exitoso, cd devolverá un
estado fallido. En los sistemas que lo admiten, el -@ La opción presenta la
atributos extendidos asociados con un archivo como directorio. Un argumento de - is
convertido a $ OLDPWD antes de intentar el cambio de directorio. Si un no vacio
nombre de directorio de CDPATH se utiliza, o si - es el primer argumento, y el
el cambio de directorio es exitoso, el nombre de ruta absoluto del nuevo directorio de trabajo
se escribe en la salida estándar. El valor de retorno es verdadero si el directorio fue
cambiado con éxito; falso de lo contrario.

comando [-pVv] comando [arg ...]
Ejecutar comando args suprimiendo la búsqueda de función de shell normal. Solo incorporado
comandos o comandos que se encuentran en el TRAYECTORIA se ejecutan. Si el -p se da la opción,
la búsqueda de comando se realiza utilizando un valor predeterminado para TRAYECTORIA que sea
garantizado para encontrar todas las utilidades estándar. Si el -V or -v opción es
suministrado, una descripción de comando está impreso. El -v opción causa una sola palabra
indicando el comando o nombre de archivo usado para invocar comando para ser mostrado; el -V
La opción produce una descripción más detallada. Si el -V or -v se suministra la opción,
el estado de salida es 0 si comando se encontró, y 1 si no. Si ninguna de las opciones es
suministrado y se produjo un error o comando no se puede encontrar, el estado de salida es 127.
De lo contrario, el estado de salida del comando incorporado es el estado de salida de comando.

compilar [opción] [por el temor ]
Generar posibles coincidencias de finalización para por el temor de acuerdo con la opcións, que puede
ser cualquier opción aceptada por el completar incorporado con la excepción de -p y -ry
escribe las coincidencias en la salida estándar. Al usar el -F or -C opciones, el
Varias variables de shell establecidas por las instalaciones de terminación programables, mientras
disponible, no tendrá valores útiles.

Las coincidencias se generarán de la misma forma que si la finalización programable
El código los había generado directamente a partir de una especificación de finalización con el mismo
banderas. Si por el temor se especifica, solo aquellas terminaciones que coinciden por el temor se mostrarán
desplegado.

El valor devuelto es verdadero a menos que se proporcione una opción no válida o no haya coincidencias
generado.

completar [-abcdefgjksuv] [-o opción de compensación] [-DELAWARE] [-A DE ACTUAR!] [-G globo] [-W lista de palabras] [-F
función] [-C comando]
[-X filtrar] [-P prefijo] [-S sufijo] nombre [nombre ...]
completar -pr [-DELAWARE] [nombre ...]
Especifique cómo los argumentos para cada nombre debe completarse. Si el -p opción es
suministrado, o si no se suministran opciones, las especificaciones de terminación existentes son
impresos de forma que se puedan reutilizar como entrada. El -r opción elimina un
especificación de finalización para cada nombre , o, si no nombre s se suministran, todos
especificaciones de terminación. El -D opción indica que las opciones restantes y
las acciones deben aplicarse a la finalización del comando `` predeterminado ''; es decir, finalización
intentado en un comando para el que no se ha definido previamente una finalización. El -E
opción indica que las opciones y acciones restantes deben aplicarse a `` vacío ''
finalización del comando; es decir, intento de finalización en una línea en blanco.

El proceso de aplicar estas especificaciones de finalización cuando la finalización de palabras es
intentado se describe arriba en Programable Cierre.

Otras opciones, si se especifican, tienen los siguientes significados. Los argumentos a la -G,
-Wy -X opciones (y, si es necesario, las -P y -S opciones) debe citarse a
protegerlos de la expansión antes de que completar se invoca a builtin.
-o opción de compensación
El opción de compensación controla varios aspectos del comportamiento de compspec más allá
la simple generación de terminaciones. opción de compensación puede ser uno de:
bash por defecto
Realiza el resto de los valores predeterminados. golpear terminaciones si el compspec
no genera coincidencias.
tu préstamo estudiantil Utilice la finalización del nombre de archivo predeterminado de readline si la especificación de
no genera coincidencias.
nombres de directorio
Realice la finalización del nombre del directorio si compspec no genera
partidos.
nombres de archivo
Dígale a readline que compspec genera nombres de archivo, por lo que puede
realizar cualquier procesamiento específico del nombre de archivo (como agregar una barra
nombres de directorio, citando caracteres especiales o suprimiendo
espacios finales). Diseñado para usarse con funciones de shell.
sin cita Dígale a readline que no cite las palabras completadas si están
nombres de archivo (citar los nombres de archivo es el valor predeterminado).
sin espacio Dile a readline que no agregue un espacio (predeterminado) a las palabras
completado al final de la línea.
plusdirs
Después de que se generen las coincidencias definidas por compspec, el directorio
Se intenta completar el nombre y las coincidencias se agregan al
resultados de las otras acciones.
-A DE ACTUAR!
El DE ACTUAR! puede ser uno de los siguientes para generar una lista de posibles
terminaciones:
alias Nombres de alias. También puede especificarse como -a.
arrayvar
Nombres de variables de matriz.
uniéndose Readline nombres de enlace de claves.
incorporado Nombres de los comandos integrados de shell. También puede especificarse como -b.
comando Nombres de comando. También puede especificarse como -c.
directorio
Nombres de directorio. También puede especificarse como -d.
discapacitados
Nombres de las funciones integradas de shell deshabilitadas.
facilita Nombres de las funciones internas de shell habilitadas.
exportar Nombres de variables de shell exportadas. También puede especificarse como -e.
presentar Nombres de archivos. También puede especificarse como -f.
función
Nombres de funciones de shell.
grupo de XNUMX Nombres de grupos. También puede especificarse como -g.
Tópico de ayuda
Temas de ayuda aceptados por el ayuda incorporado.
hostname
Nombres de host, tomados del archivo especificado por el ARCHIVO DE HOSPITAL shell
variable.
trabajo Nombres de trabajos, si el control de trabajos está activo. También puede especificarse como -j.
keyword Palabras reservadas de Shell. También puede especificarse como -k.
correr Nombres de trabajos en ejecución, si el control de trabajos está activo.
de coches Nombres de servicios. También puede especificarse como -s.
setop Argumentos válidos para el -o opción a la set incorporado.
comprado Nombres de opciones de shell aceptados por el comprado incorporado.
señal Nombres de señales.
detenido Nombres de trabajos detenidos, si el control de trabajos está activo.
usuario Nombres de usuario. También puede especificarse como -u.
variable
Nombres de todas las variables de shell. También puede especificarse como -v.
-C comando
comando se ejecuta en un entorno de subshell, y su salida se utiliza como
las posibles terminaciones.
-F función
La función de shell función se ejecuta en el entorno de shell actual.
Cuando se ejecuta la función, el primer argumento ($1) es el nombre del
comando cuyos argumentos se están completando, el segundo argumento ($2) es
la palabra se completa, y el tercer argumento ($3) es la palabra que precede
la palabra se completa en la línea de comando actual. Cuando termine,
las posibles terminaciones se recuperan del valor de la COMPLETAR
variable de matriz.
-G globo
El patrón de expansión de nombre de ruta globo se expande para generar el posible
terminaciones.
-P prefijo
prefijo se agrega al comienzo de cada posible finalización después de todo
se han aplicado otras opciones.
-S sufijo
sufijo se agrega a cada posible finalización después de que todas las demás opciones hayan
sido aplicado
-W lista de palabras
El lista de palabras se divide utilizando los caracteres en el IFS variable especial como
delimitadores, y cada palabra resultante se expande. Las posibles terminaciones
son los miembros de la lista resultante que coinciden con la palabra que se está completando.
-X filtrar
filtrar es un patrón que se utiliza para la expansión de nombre de ruta. Se aplica a
la lista de posibles terminaciones generadas por las opciones anteriores y
argumentos, y cada coincidencia de finalización filtrar se elimina de la lista.
Un liderazgo ! in filtrar niega el patrón; en este caso, cualquier finalización
no coincide filtrar es removido.

El valor devuelto es verdadero a menos que se proporcione una opción no válida, una opción distinta a
-p or -r se suministra sin nombre argumento, se intenta eliminar un
especificación de finalización para un nombre para el que no existe ninguna especificación, o un error
ocurre agregando una especificación de finalización.

compuesto [-o opción] [-DELAWARE] [+o opción] [nombre ]
Modificar las opciones de finalización para cada nombre de acuerdo con la opcións, o para el
finalización actualmente en ejecución si no nombre s se suministran. Si no opciónse dan,
mostrar las opciones de finalización para cada nombre o la finalización actual. El
posibles valores de opción son los validos para el completar incorporado descrito anteriormente.
El -D La opción indica que las opciones restantes deben aplicarse a la opción `` predeterminada ''.
finalización del comando; es decir, intento de finalización en un comando para el que no
La finalización se ha definido previamente. El -E La opción indica que el resto
las opciones deben aplicarse a la finalización del comando `` vacío ''; es decir, intento de finalización
en una línea en blanco.

El valor devuelto es verdadero a menos que se proporcione una opción no válida, se intenta
para modificar las opciones de un nombre para el cual no existe una especificación de finalización, o
ocurre un error de salida.

continue [n]
Reanudar la siguiente iteración del adjunto para, mientras, hastao selecciona círculo. Si n
se especifica, reanudar en el nth bucle envolvente. n debe ser ≥ 1. Si n es mayor
que el número de bucles circundantes, el último bucle circundante (el `` nivel superior ''
bucle) se reanuda. El valor de retorno es 0 a menos que n no es mayor o igual a
1.

declarar [-aAfFgilnrtux] [-p] [nombre [=propuesta de] ...]
compilado [-aAfFgilnrtux] [-p] [nombre [=propuesta de] ...]
Declara variables y / o dales atributos. Si no nombre s se dan y luego se muestran
los valores de las variables. El -p La opción mostrará los atributos y valores de
cada una nombre . Cuando el -p se usa con nombre argumentos, opciones adicionales, distintas de -f
y -F, se ignoran. Cuándo -p se suministra sin nombre argumentos, se mostrará
los atributos y valores de todas las variables que tienen los atributos especificados por el
opciones adicionales. Si no se proporcionan otras opciones con -p, declarar mostrará
los atributos y valores de todas las variables de shell. El -f La opción restringirá la
mostrar a funciones de shell. El -F opción inhibe la visualización de la función
definiciones; solo se imprimen el nombre de la función y los atributos. Si el extdebug
La opción de shell está habilitada usando comprado, el nombre del archivo de origen y el número de línea donde
La función está definida también se muestran. El -F la opción implica -f. -g
La opción fuerza la creación o modificación de variables en el ámbito global, incluso cuando
declarar se ejecuta en una función de shell. Se ignora en todos los demás casos. El
las siguientes opciones se pueden utilizar para restringir la salida a variables con el especificado
atributo o para dar atributos a las variables:
-a Cada nombre es una variable de matriz indexada (ver Matrices encima).
-A Cada nombre es una variable de matriz asociativa (ver Matrices encima).
-f Utilice únicamente nombres de funciones.
-i La variable se trata como un número entero; evaluación aritmética (ver ARITMÉTICA
IMPACTO anterior) se realiza cuando se asigna un valor a la variable.
-l Cuando se asigna un valor a la variable, todos los caracteres en mayúsculas son
convertido a minúsculas. El atributo de mayúsculas está deshabilitado.
-n Dar cada uno nombre las referencia del nombre atributo, convirtiéndolo en una referencia de nombre a otro
variable. Esa otra variable está definida por el valor de nombre . Todos
referencias y asignaciones a nombre , excepto para cambiar el -n atributo
en sí, se realizan en la variable referenciada por nombre valor de. El -n
El atributo no se puede aplicar a variables de matriz.
-r Haz nombre s solo lectura. A estos nombres no se les pueden asignar valores por
declaraciones de asignación posteriores o desarmado.
-t Dar cada uno nombre las rastrear atributo. Las funciones rastreadas heredan el DEBUG y
DEVOLUCION trampas del shell de llamada. El atributo de seguimiento no tiene especial
significado de las variables.
-u Cuando se asigna un valor a la variable, todos los caracteres en minúscula son
convertido a mayúsculas. El atributo de minúsculas está deshabilitado.
-x Marc nombre s para exportar a comandos posteriores a través del entorno.

El uso de '+' en lugar de '-' desactiva el atributo en su lugar, con las excepciones que
+a no se puede utilizar para destruir una variable de matriz y +r no eliminará el readonly
atributo. Cuando se usa en una función, declarar y compilado hacer cada uno nombre local, como
con el local comando, a menos que el -g se suministra la opción. Si el nombre de una variable es
seguido de =propuesta de, el valor de la variable se establece en propuesta de. Cuando usas -a or -A
y la sintaxis de asignación compuesta para crear variables de matriz, atributos adicionales
no entran en vigor hasta asignaciones posteriores. El valor de retorno es 0 a menos que un
se encuentra una opción no válida, se intenta definir una función usando `` -f
foo = bar '', se intenta asignar un valor a una variable de solo lectura, se intenta
está hecho para asignar un valor a una variable de matriz sin usar el compuesto
sintaxis de asignación (ver Matrices arriba), uno de los nombres no es un caparazón válido
nombre de la variable, se intenta desactivar el estado de solo lectura para un
variable, se intenta desactivar el estado de la matriz para una variable de matriz, o una
se intenta mostrar una función inexistente con -f.

dirs [-clv] [+n] [-n]
Sin opciones, muestra la lista de directorios actualmente recordados. El
la visualización predeterminada está en una sola línea con nombres de directorio separados por espacios.
Los directorios se agregan a la lista con el pushd mando; los popd comando elimina
entradas de la lista.
-c Limpia la pila de directorios eliminando todas las entradas.
-l Produce un listado usando nombres de ruta completos; el formato de lista predeterminado utiliza un
tilde para indicar el directorio de inicio.
-p Imprima la pila de directorios con una entrada por línea.
-v Imprima la pila del directorio con una entrada por línea, prefijando cada entrada con
su índice en la pila.
+n Muestra el na entrada contando desde la izquierda de la lista mostrada por dirs cuando
invoca sin opciones, comenzando con cero.
-n Muestra el na entrada contando desde la derecha de la lista mostrada por dirs
cuando se invoca sin opciones, comenzando con cero.

El valor de retorno es 0 a menos que se proporcione una opción no válida o n índices más allá del
final de la pila de directorios.

renegar de [-Arkansas] [-h] [especificación de trabajo ...]
Sin opciones, elimine cada especificación de trabajo de la tabla de trabajos activos. Si especificación de trabajo is
no presente, y ni el -a ni la -r se suministra la opción, la corriente trabajo is
usó. Si el -h se da la opción, cada especificación de trabajo no se quita de la mesa, pero
está marcado para que SUSCRÍBETE no se envía al trabajo si el shell recibe un SUSCRÍBETE. Si
no especificación de trabajo se suministra, el -a opción significa eliminar o marcar todos los trabajos; el -r
opción sin un especificación de trabajo El argumento restringe la operación a trabajos en ejecución. El regreso
el valor es 0 a menos que un especificación de trabajo no especifica un trabajo válido.

echo [-de soltera] [arg ...]
Salida del args, separados por espacios, seguidos de una nueva línea. El estado de devolución es
0 a menos que se produzca un error de escritura. Si -n se especifica, el salto de línea final es
suprimido. Si el -e se da la opción, interpretación de la siguiente barra invertida-
los caracteres de escape están habilitados. El -E opción desactiva la interpretación de estos
caracteres de escape, incluso en sistemas en los que se interpretan de forma predeterminada. El
xpg_echo La opción de shell se puede utilizar para determinar dinámicamente si echo
expande estos caracteres de escape de forma predeterminada. echo no interpreta -- querer decir el
fin de opciones. echo interpreta las siguientes secuencias de escape:
\a alerta (campana)
\b Retroceso
\c suprimir más salida
\e
\E un personaje de escape
\f formulario de alimentación
\n nueva línea
\r retorno de carro
\t pestaña horizontal
\v pestaña vertical
\\ barra invertida
\0nnn el carácter de ocho bits cuyo valor es el valor octal nnn (cero a tres
dígitos octales)
\xHH el carácter de ocho bits cuyo valor es el valor hexadecimal HH (uno o dos
dígitos hexadecimales)
\uHhhh el carácter Unicode (ISO / IEC 10646) cuyo valor es el valor hexadecimal
Hhhh (de uno a cuatro dígitos hexadecimales)
\UHHHHHHHH
el carácter Unicode (ISO / IEC 10646) cuyo valor es el valor hexadecimal
HHHHHHHH (de uno a ocho dígitos hexadecimales)

habilitar [-a] [-dnps] [-f nombre de archivo] [nombre ...]
Habilita y deshabilita los comandos de shell integrados. La desactivación de un incorporado permite que un disco
comando que tiene el mismo nombre que un shell incorporado para ser ejecutado sin
especificando un nombre de ruta completo, aunque el shell normalmente busca incorporados
antes de los comandos de disco. Si -n se utiliza, cada nombre está desactivado; de lo contrario, nombres en
activado. Por ejemplo, para usar el test binario encontrado a través del TRAYECTORIA en vez de
versión incorporada de shell, ejecute `` enable -n test ''. El -f opción significa cargar el nuevo
comando incorporado nombre de objeto compartido nombre de archivo, en sistemas que admiten dinámicas
cargando. El -d La opción eliminará un archivo incorporado previamente cargado con -f. Si no
nombre se dan argumentos, o si el -p Se proporciona la opción, una lista de elementos integrados de shell
está impreso. Sin otros argumentos de opción, la lista consta de todos los shell habilitados
incorporados. Si -n se suministra, sólo se imprimen las incorporaciones deshabilitadas. Si -a is
suministrada, la lista impresa incluye todas las incorporaciones, con una indicación de si
no todos están habilitados. Si -s se suministra, la salida está restringida al POSIX
especial incorporados. El valor de retorno es 0 a menos que un nombre no es un shell incorporado o
hay un error al cargar una nueva incorporada desde un objeto compartido.

eval [arg ...]
El argLos mensajes de correo electrónico se leen y concatenan juntos en un solo comando. Este comando es
luego leído y ejecutado por el shell, y su estado de salida se devuelve como el valor
of eval. Si no hay args, o solo argumentos nulos, eval devuelve 0.

ejecutivo [-cl] [-a nombre ] [comando [argumentos]]
If comando se especifica, reemplaza el shell. No se crea ningún proceso nuevo. El
argumentos convertirse en los argumentos para comando. Si el -l se suministra la opción, la cáscara
coloca un guión al comienzo del argumento cero pasado a comando. Es
qué Inicie sesión(1) lo hace. los -c causas de la opción comando para ser ejecutado con un vacío
medio ambiente. Si -a se suministra, la cáscara pasa nombre como el argumento cero para
el comando ejecutado. Si comando no se puede ejecutar por alguna razón, un
sale del shell interactivo, a menos que el error ejecutivo La opción de shell está habilitada. En eso
caso, devuelve fallo. Un shell interactivo devuelve un error si el archivo no puede
ser ejecutado. Si comando no se especifica, las redirecciones entrarán en vigor en el
shell actual, y el estado de retorno es 0. Si hay un error de redirección, el
El estado de devolución es 1.

salida [n]
Hacer que el shell salga con un estado de n. Si n se omite, el estado de salida es
el del último comando ejecutado. Una trampa en SALIR se ejecuta antes del shell
termina.

exportar [-fn] [nombre [=por el temor ]]...
exportar -p
El suministrado nombres están marcados para exportación automática al entorno de
comandos ejecutados posteriormente. Si el -f se da la opción, la nombres referirse a
funciones. Si no nombres se dan, o si el -p se proporciona la opción, una lista de nombres
de todas las variables exportadas se imprime. El -n La opción hace que la propiedad de exportación
ser eliminado de cada nombre . Si el nombre de una variable va seguido de =por el temor , El valor de
la variable se establece en por el temor . exportar devuelve un estado de salida de 0 a menos que sea inválido
se encuentra una de las opciones nombres no es un nombre de variable de shell válido, o -f
se suministra con un nombre eso no es una función.

fc [-e esmalte] [-lnr] [la primera] [pasado]
fc -s [palmadita=reps] [cmd]
El primer formulario selecciona un rango de comandos de la primera a pasado de la lista del historial
y los muestra o edita y vuelve a ejecutarlos. Nombre y pasado puede especificarse como un
cadena (para ubicar el último comando que comienza con esa cadena) o como un número (un
índice en la lista del historial, donde se utiliza un número negativo como un desplazamiento del
número de comando actual). Si pasado no se especifica, se establece en el comando actual
para listar (de modo que `` fc -l -10 '' imprima los últimos 10 comandos) y para la primera
de lo contrario. Si la primera no se especifica, se establece en el comando anterior para editar
y -16 para el listado.

El -n La opción suprime los números de comando al listar. El -r la opción se invierte
el orden de los comandos. Si el -l se da la opción, los comandos se enumeran en
salida estándar. De lo contrario, el editor dado por esmalte se invoca en un archivo
que contiene esos comandos. Si esmalte no se da, el valor de la FCEDIT variable
se utiliza, y el valor de EDITOR if FCEDIT no está configurado. Si no se establece ninguna variable,
vi se utiliza. Cuando se completa la edición, los comandos editados se repiten y se ejecutan.

En la segunda forma, comando se vuelve a ejecutar después de cada instancia de palmadita es remplazado
by reps. Comando se interpreta igual que la primera sobre. Un alias útil para usar con
esto es `` r = "fc -s" '', de modo que al escribir `` r cc '' se ejecuta el último comando que comienza con
`` cc '' y escribiendo `` r '' vuelve a ejecutar el último comando.

Si se utiliza la primera forma, el valor de retorno es 0 a menos que se haya seleccionado una opción no válida.
encontrado o la primera or pasado especificar líneas de historial fuera de rango. Si el -e opción
se suministra, el valor de retorno es el valor del último comando ejecutado o falla
si ocurre un error con el archivo temporal de comandos. Si la segunda forma es
utilizado, el estado de retorno es el del comando re-ejecutado, a menos que cmd no
especificar una línea de historial válida, en cuyo caso fc devuelve el fracaso.

fg [especificación de trabajo]
Currículum especificación de trabajo en primer plano y conviértalo en el trabajo actual. Si especificación de trabajo no es
presente, la noción de la cáscara de la corriente trabajo se utiliza. El valor de retorno es que
del comando colocado en primer plano, o falla si se ejecuta cuando el control del trabajo está
deshabilitado o, cuando se ejecuta con el control de trabajo habilitado, si especificación de trabajo no especifica un válido
trabajo o especificación de trabajo especifica un trabajo que se inició sin control de trabajo.

obtener opciones cadena de opciones nombre [args]
obtener opciones lo utilizan los procedimientos de shell para analizar los parámetros posicionales. cadena de opciones
contiene los caracteres de opción a reconocer; si un carácter es seguido por un
dos puntos, se espera que la opción tenga un argumento, que debe estar separado de
por espacio en blanco. Los dos puntos y los signos de interrogación no se pueden utilizar como
caracteres de opción. Cada vez que se invoca, obtener opciones coloca la siguiente opción en el
variable de shell nombre , inicializando nombre si no existe, y el índice de la
siguiente argumento para ser procesado en la variable OPTAR. OPTAR se inicializa a 1
cada vez que se invoca el shell o un script de shell. Cuando una opción requiere una
argumento, obtener opciones coloca ese argumento en la variable OPTARG. El caparazón lo hace
no reiniciar OPTAR automáticamente; debe restablecerse manualmente entre varias llamadas para
obtener opciones dentro de la misma invocación de shell si se va a utilizar un nuevo conjunto de parámetros.

Cuando se encuentra el final de las opciones, obtener opciones sale con un valor de retorno mayor
que cero. OPTAR se establece en el índice del primer argumento que no es de opción, y nombre
se establece en ?.

obtener opciones normalmente analiza los parámetros posicionales, pero si se dan más argumentos
in args, obtener opciones analiza esos en su lugar.

obtener opciones puede informar errores de dos formas. Si el primer carácter de cadena de opciones es un
colon, silencioso se utiliza el informe de errores. En funcionamiento normal, mensajes de diagnóstico
se imprimen cuando se encuentran opciones no válidas o argumentos de opción faltantes. Si
La variable OPTERR se establece en 0, no se mostrarán mensajes de error, incluso si el
primer personaje de cadena de opciones no son dos puntos.

Si se ve una opción no válida, obtener opciones lugares ? en nombre y, si no calla, imprime
un mensaje de error y desarma OPTARG. Si obtener opciones está en silencio, el carácter de opción
encontrado se coloca en OPTARG y no se imprime ningún mensaje de diagnóstico.

Si no se encuentra un argumento requerido, y obtener opciones no está en silencio, un signo de interrogación?)
se coloca en nombre , OPTARG está desarmado y se imprime un mensaje de diagnóstico. Si
obtener opciones está en silencio, luego dos puntos (:) se coloca en nombre y OPTARG se establece en el
carácter de opción encontrado.

obtener opciones devuelve verdadero si se encuentra una opción, especificada o no especificada. Vuelve
falso si se encuentra el final de las opciones o se produce un error.

hachís [-lr] [-p nombre de archivo] [-dt] [nombre ]
Cada vez hachís se invoca, el nombre de ruta completo del comando nombre Esta determinado por
buscando los directorios en $ RUTA y recordado. Cualquier previamente recordado
el nombre de ruta se descarta. Si el -p se proporciona la opción, no se realiza ninguna búsqueda de ruta,
y nombre de archivo se utiliza como el nombre de archivo completo del comando. El -r La opción causa la
shell para olvidar todas las ubicaciones recordadas. El -d La opción hace que el shell se olvide
la ubicación recordada de cada nombre . Si el -t se suministra la opción, la
nombre de ruta a la que cada nombre corresponde se imprime. Si es múltiple nombre los argumentos son
suministrado con -t, la nombre se imprime antes del nombre de ruta completo con hash. El -l
La opción hace que la salida se muestre en un formato que puede reutilizarse como entrada. Si
no se dan argumentos, o si solo -l se suministra, información sobre recordada
se imprimen los comandos. El estado de devolución es verdadero a menos que un nombre no se encuentra o un
Se proporciona una opción no válida.

ayuda [-dms] [patrón]
Muestra información útil sobre los comandos integrados. Si patrón está especificado, ayuda
brinda ayuda detallada sobre todos los comandos que coinciden patrón; De lo contrario, ayuda para todos los
se imprimen las estructuras incorporadas y de control de la carcasa.
-d Muestre una breve descripción de cada patrón
-m Muestra la descripción de cada patrón en un formato similar a una página de manual
-s Muestra solo una breve sinopsis de uso para cada patrón

El estado de retorno es 0 a menos que ningún comando coincida patrón.

historia [n]
historia -c
historia -d compensar
historia -respuesta [nombre de archivo]
historia -p arg [arg ...]
historia -s arg [arg ...]
Sin opciones, muestra la lista del historial de comandos con números de línea. Líneas enumeradas
con un * han sido modificados. Un argumento de n enumera solo el último n líneas. Si el
variable de shell FORMATO DE HORA está establecido y no es nulo, se usa como una cadena de formato
para Strftime(3) para mostrar la marca de tiempo asociada con cada historial mostrado
entrada. No se imprime ningún espacio en blanco intermedio entre la marca de tiempo formateada y la
línea de historia. Si nombre de archivo se proporciona, se utiliza como el nombre del archivo histórico;
si no, el valor de ARCHIVO HISTÓRICO se utiliza. Las opciones, si se suministran, tienen lo siguiente
significados:
-c Borre la lista del historial eliminando todas las entradas.
-d compensar
Eliminar la entrada del historial en la posición compensar.
-a Agregue las líneas del historial `` nuevas '' (las líneas del historial ingresadas desde el principio
de la corriente golpear sesión) al archivo de historial.
-n Lea las líneas del historial que aún no se leyeron del archivo de historial en el
lista de historial actual. Estas son líneas adjuntas al archivo de historial desde
el comienzo de la corriente golpear de preguntas y respuestas.
-r Lea el contenido del archivo de historial y añádalo al historial actual
lista.
-w Escriba la lista del historial actual en el archivo del historial, sobrescribiendo el historial
contenido del archivo.
-p Realice la sustitución del historial en los siguientes args y mostrar el resultado en
la salida estándar. No almacena los resultados en la lista del historial. Cada
arg debe citarse para deshabilitar la expansión normal del historial.
-s Almacene el args en la lista del historial como una sola entrada. El último comando en
la lista del historial se elimina antes de args se agregan.

Si FORMATO DE HORA variable está configurada, la información de marca de tiempo asociada con
cada entrada del historial se escribe en el archivo del historial, marcado con el comentario del historial
personaje. Cuando se lee el archivo del historial, las líneas que comienzan con el comentario del historial
carácter seguido inmediatamente por un dígito se interpretan como marcas de tiempo para el
línea de historia previa. El valor de retorno es 0 a menos que se haya seleccionado una opción no válida.
encontrado, se produce un error al leer o escribir el archivo de historial, una
compensar se proporciona como argumento para -d, o la expansión de la historia proporcionada como un
argumento para -p falla.

recibas nuevas vacantes en tu correo [-lnprs] [ especificación de trabajo ...]
recibas nuevas vacantes en tu correo -x comando [ args ...]
El primer formulario enumera los trabajos activos. Las opciones tienen los siguientes significados:
-l Enumere los ID de proceso además de la información normal.
-n Mostrar información solo sobre trabajos que han cambiado de estado desde que el usuario
fue notificado por última vez de su estado.
-p Enumere solo el ID de proceso del líder del grupo de procesos del trabajo.
-r Muestra solo trabajos en ejecución.
-s Muestra solo trabajos detenidos.

If especificación de trabajo se proporciona, la salida se restringe a la información sobre ese trabajo. El
el estado de retorno es 0 a menos que se encuentre una opción inválida o una inválida especificación de trabajo is
suministrado.

Si -x se suministra la opción, recibas nuevas vacantes en tu correo reemplaza cualquier especificación de trabajo encontrado en comando or args
con el ID de grupo de proceso correspondiente, y ejecuta comando pasándolo args,
devolviendo su estado de salida.

matar [-s sigspec | -n signum | -sigspec] [pid | especificación de trabajo]
matar -l [sigspec | estado_salida]
Envía la señal nombrada por sigspec or signum a los procesos nombrados por pid or
especificación de trabajo. sigspec es un nombre de señal que no distingue entre mayúsculas y minúsculas, como sigilo (Con o
sin el SIG prefijo) o un número de señal; signum es un número de señal. Si sigspec
no está presente, entonces SIGNO se supone. Un argumento de -l enumera los nombres de las señales.
Si se proporcionan argumentos cuando -l se da, los nombres de las señales
correspondientes a los argumentos se enumeran, y el estado de retorno es 0. El
estado_salida argumento para -l es un número que especifica un número de señal o el
estado de salida de un proceso terminado por una señal. matar devuelve verdadero si al menos uno
La señal se envió con éxito, o es falsa si ocurre un error o una opción no válida es
encontrado.

dejar arg [arg ...]
Cada arg es una expresión aritmética a evaluar (ver ARITMÉTICA IMPACTO
sobre). Si el ultimo arg evalúa a 0, dejar devuelve 1; De lo contrario, se devuelve 0.

local [opción] [nombre [=propuesta de] ...]
Para cada argumento, una variable local llamada nombre es creado y asignado propuesta de.
opción puede ser cualquiera de las opciones aceptadas por declarar. Cuando el local se utiliza dentro de un
función, hace que la variable nombre tener un alcance visible restringido a eso
función y sus hijos. Sin operandos, local escribe una lista de locales
variables a la salida estándar. Es un error usar local cuando no dentro de un
función. El estado de devolución es 0 a menos que local se utiliza fuera de una función, un
inválido nombre se suministra, o nombre es una variable de solo lectura.

Iniciar sesión Salir de un shell de inicio de sesión.

archivo de mapa [-n contar] [-O natural] [-s contar] [-t] [-u fd] [-C llamar de vuelta] [-c cuántico] [matriz]
matriz de lectura [-n contar] [-O natural] [-s contar] [-t] [-u fd] [-C llamar de vuelta] [-c cuántico]
[matriz]
Leer líneas de la entrada estándar en la variable de matriz indexada matriz, O desde
descriptor de archivo fd si el -u se suministra la opción. La variable ARCHIVOMAPA son los
tu préstamo estudiantil matriz. Las opciones, si se proporcionan, tienen los siguientes significados:
-n Copiar como máximo contar líneas. Si contar es 0, se copian todas las líneas.
-O Empezar a asignar a matriz en el índice natural. El índice predeterminado es 0.
-s Descartar el primero contar líneas leídas.
-t Elimine una nueva línea al final de cada línea leída.
-u Leer líneas del descriptor de archivo fd en lugar de la entrada estándar.
-C Evaluar llamar de vuelta cada vez cuántico se leen las líneas. El -c la opción especifica
cuántico.
-c Especifique el número de líneas leídas entre cada llamada a llamar de vuelta.

If -C se especifica sin -c, el cuanto predeterminado es 5000. Cuando llamar de vuelta is
evaluado, se proporciona el índice del siguiente elemento de la matriz que se asignará y
la línea que se asignará a ese elemento como argumentos adicionales. llamar de vuelta is
evaluado después de leer la línea pero antes de que se asigne el elemento de matriz.

Si no se suministra con un origen explícito, archivo de mapa despejará matriz antes de asignar
a la misma.

archivo de mapa devuelve con éxito a menos que una opción o argumento de opción no válido sea
suministrado, matriz es inválido o no asignable, o si matriz no es una matriz indexada.

popd [-n] [+n] [-n]
Elimina entradas de la pila de directorios. Sin argumentos, quita la tapa
directorio de la pila, y realiza un cd al nuevo directorio superior. Argumentos,
si se suministra, tiene los siguientes significados:
-n Suprime el cambio normal de directorio al eliminar directorios del
pila, de modo que solo se manipule la pila.
+n Elimina el na entrada contando desde la izquierda de la lista mostrada por dirs,
comenzando con cero. Por ejemplo: `` popd +0 '' elimina el primer directorio,
`` popd +1 '' el segundo.
-n Elimina el na entrada contando desde la derecha de la lista mostrada por dirs,
comenzando con cero. Por ejemplo: `` popd -0 '' elimina el último directorio,
`` popd -1 '' el penúltimo.

Si popd el comando es exitoso, un dirs se realiza también, y el regreso
el estado es 0. popd devuelve falso si se encuentra una opción no válida, el directorio
la pila está vacía, se especifica una entrada de pila de directorio no existente, o el directorio
el cambio falla.

Printf [-v var] formato [argumentos]
Escribe el formateado argumentos a la salida estándar bajo el control del
formato. -v La opción hace que la salida se asigne a la variable. var más bien
que imprimirse en la salida estándar.

El formato es una cadena de caracteres que contiene tres tipos de objetos: simple
caracteres, que simplemente se copian en la salida estándar, secuencias de escape de caracteres,
que se convierten y copian a la salida estándar y las especificaciones de formato,
cada uno de los cuales causa la impresión del siguiente sucesivo argumento. Además de
estándar Printf(1) especificaciones de formato, Printf interpreta lo siguiente
extensiones:
%b causas Printf para expandir las secuencias de escape de barra invertida en el correspondiente
argumento (excepto eso \c termina la salida, barras invertidas en \', \"y \?
no se eliminan, y los escapes octales que comienzan con \0 puede contener hasta cuatro
dígitos).
%q causas Printf para generar el correspondiente argumento en un formato que puede ser
reutilizado como entrada de shell.
%(fechafmt)T
causas Printf para generar la cadena de fecha y hora resultante de usar fechafmt as
una cadena de formato para Strftime(3). El correspondiente argumento es un entero
que representa el número de segundos desde la época. Dos argumentos especiales
Se pueden usar valores: -1 representa la hora actual y -2 representa la
vez que se invocó la cáscara. Si no se especifica ningún argumento, la conversión se comporta
como si le hubieran dado -1. Esta es una excepción a la habitual Printf comportamiento.

Los argumentos para especificadores de formato que no son cadenas se tratan como constantes C, excepto que un
Se permite el signo más o menos inicial, y si el carácter principal es un signo simple o
comillas dobles, el valor es el valor ASCII del siguiente carácter.

El formato se reutiliza según sea necesario para consumir todos los argumentos. Si el formato
requiere más argumentos que se suministran, las especificaciones de formato adicionales se comportan
como si se hubiera proporcionado un valor cero o una cadena nula, según corresponda. El regreso
el valor es cero en caso de éxito, distinto de cero en caso de error.

pushd [-n] [+n] [-n]
pushd [-n] [dir]
Agrega un directorio a la parte superior de la pila de directorios, o rota la pila, haciendo
la nueva parte superior de la pila el directorio de trabajo actual. Sin argumentos
intercambia los dos directorios superiores y devuelve 0, a menos que la pila de directorios sea
vacío. Los argumentos, si se proporcionan, tienen los siguientes significados:
-n Suprime el cambio normal de directorio al agregar directorios al
pila, de modo que solo se manipule la pila.
+n Gira la pila para que el nth directorio (contando desde la izquierda del
lista mostrada por dirs, comenzando con cero) está en la parte superior.
-n Gira la pila para que el nth directorio (contando desde la derecha del
lista mostrada por dirs, comenzando con cero) está en la parte superior.
dir Añade dir a la pila de directorios en la parte superior, lo que la convierte en la nueva actual
directorio de trabajo como si se hubiera proporcionado como el argumento de la cd
incorporado.

Si pushd el comando es exitoso, un dirs también se realiza. Si la primera forma
es usado pushd devuelve 0 a menos que el cd a dir falla. Con la segunda forma, pushd
devuelve 0 a menos que la pila de directorios esté vacía, una pila de directorios inexistente
se especifica el elemento, o el directorio cambia a la nueva corriente especificada
el directorio falla.

pwd [-LP]
Imprime la ruta absoluta del directorio de trabajo actual. El nombre de la ruta impreso
no contiene enlaces simbólicos si el -P se suministra la opción o el -o los libros físicos opción
En el correo electrónico “Su Cuenta de Usuario en su Nuevo Sistema XNUMXCX”. set El comando incorporado está habilitado. Si el -L se utiliza la opción, el nombre de la ruta
impreso puede contener enlaces simbólicos. El estado de retorno es 0 a menos que ocurra un error.
mientras lee el nombre del directorio actual o se proporciona una opción no válida.

leer [-ers] [-a un nombre] [-d delimitar] [-i texto] [-n nchars] [-N nchars] [-p puntual] [-t
tiempo de espera] [-u fd] [nombre ...]
Se lee una línea de la entrada estándar o del descriptor de archivo fd suministrada
como argumento a la -u opción, y la primera palabra se asigna a la primera nombre ,
la segunda palabra a la segunda nombre , y así sucesivamente, con las palabras sobrantes y su
separadores intermedios asignados al último nombre . Si se leen menos palabras
del flujo de entrada que los nombres, a los nombres restantes se les asignan valores vacíos.
Los personajes de IFS se utilizan para dividir la línea en palabras utilizando las mismas reglas
que utiliza el caparazón para la expansión (descrito anteriormente en Palabra Splitting). La barra invertida
personaje (\) se puede utilizar para eliminar cualquier significado especial del siguiente carácter leído
y para la continuación de la línea. Las opciones, si se proporcionan, tienen los siguientes significados:
-a un nombre
Las palabras se asignan a índices secuenciales de la variable de matriz. un nombre,
comenzando en 0. un nombre se desarma antes de que se asignen nuevos valores. Otro
nombre los argumentos se ignoran.
-d delimitar
El primer personaje de delimitar se utiliza para terminar la línea de entrada, en lugar de
que nueva línea.
-e Si la entrada estándar proviene de un terminal, readline (consulta: LEER LÍNEA
arriba) se utiliza para obtener la línea. Readline usa el actual (o predeterminado,
si la edición de líneas no estaba previamente activa) la configuración de edición.
-i texto
If readline se está utilizando para leer la línea, texto se coloca en la edición
búfer antes de que comience la edición.
-n nchars
leer regresa después de leer nchars personajes en lugar de esperar un
línea completa de entrada, pero respete un delimitador si es menor que nchars
los caracteres se leen antes del delimitador.
-N nchars
leer regresa después de leer exactamente nchars personajes en lugar de esperar
una línea completa de entrada, a menos que se encuentre EOF o leer se acabó el tiempo.
Los caracteres delimitadores que se encuentran en la entrada no se tratan de manera especial y
no causa leer volver hasta nchars se leen los caracteres.
-p puntual
Pantalla puntual en error estándar, sin una nueva línea al final, antes
intentando leer cualquier entrada. El mensaje se muestra solo si la entrada es
viniendo de una terminal.
-r La barra invertida no actúa como carácter de escape. La barra invertida se considera
para ser parte de la línea. En particular, un par de barra invertida-nueva línea puede no ser
utilizado como continuación de línea.
-s Modo silencioso. Si la entrada proviene de una terminal, los caracteres no se repiten.
-t tiempo de espera
Causar leer tiempo de espera y devolver la falla si una línea completa de entrada (o un
número especificado de caracteres) no se lee dentro de tiempo de espera segundos. tiempo de espera
puede ser un número decimal con una fracción después del decimal
punto. Esta opción solo es efectiva si leer está leyendo la entrada de un
terminal, tubería u otro archivo especial; no tiene ningún efecto al leer de
archivos regulares. Si leer se acabó el tiempo, leer guarda cualquier entrada parcial leída en
la variable especificada nombre . Si tiempo de espera es 0, leer regresa inmediatamente,
sin intentar leer ningún dato. El estado de salida es 0 si la entrada está disponible
en el descriptor de archivo especificado, distinto de cero en caso contrario. El estado de salida es
mayor que 128 si se excede el tiempo de espera.
-u fd Leer la entrada del descriptor de archivo fd.

Si no es correcto nombres se suministran, la línea leída se asigna a la variable RESPUESTA.
el código de retorno es cero, a menos que se encuentre el final del archivo, leer tiempo de espera (en el que
caso de que el código de retorno sea mayor que 128), un error de asignación de variable (como
asignación a una variable de solo lectura), o se proporciona un descriptor de archivo no válido
como el argumento para -u.

solo lectura [-aAf] [-p] [nombre [=por el temor ] ...]
Lo dado nombres están marcados como de solo lectura; los valores de estos nombres no se puede cambiar
por cesión posterior. Si el -f se suministra la opción, las funciones
correspondiente a la nombres están tan marcados. El -a La opción restringe las variables a
matrices indexadas; el -A La opción restringe las variables a matrices asociativas. Si
se suministran ambas opciones, -A toma precedencia. Si no nombre se dan argumentos, o
si el -p se proporciona la opción, se imprime una lista de todos los nombres de solo lectura. El otro
Las opciones se pueden utilizar para restringir la salida a un subconjunto del conjunto de readonly
nombres. los -p La opción hace que la salida se muestre en un formato que se puede reutilizar.
como entrada. Si el nombre de una variable va seguido de =por el temor , el valor de la variable es
establecido en por el temor . El estado de devolución es 0 a menos que se encuentre una opción no válida, una
de las nombres no es un nombre de variable de shell válido, o -f se suministra con un nombre esa
no es una función.

volvemos [n]
Hace que una función deje de ejecutarse y devuelva el valor especificado por n a su
llamador. Si n se omite, el estado de retorno es el del último comando ejecutado en
el cuerpo de la función. Si volvemos se utiliza fuera de una función, pero durante la ejecución de una
guión por el . (fuente) comando, hace que el shell deje de ejecutar ese
script y devuelva n o el estado de salida del último comando ejecutado dentro
la secuencia de comandos como el estado de salida de la secuencia de comandos. Si n se suministra, el valor de retorno es
sus 8 bits menos significativos. El estado de devolución es distinto de cero si volvemos es proporcionado
un argumento no numérico, o se usa fuera de una función y no durante la ejecución de una
guión de . or fuente. Cualquier comando asociado con el DEVOLUCION se ejecuta la trampa
antes de que la ejecución se reanude después de la función o el script.

set [--abefhkmnptuvxBCEHPT] [-o nombre-opción] [arg ...]
set [+ abefhkmnptuvxBCEHPT] [+o nombre-opción] [arg ...]
Sin opciones, el nombre y el valor de cada variable de shell se muestran en un
formato que se puede reutilizar como entrada para configurar o restablecer la configuración actual
variables. Las variables de solo lectura no se pueden restablecer. En POSIX modo, solo shell
se enumeran las variables. La salida se ordena según la configuración regional actual. Cuándo
se especifican opciones, establecen o desarman atributos de shell. Cualquier argumento restante
después del procesamiento de opciones se tratan como valores para los parámetros posicionales y se
asignado, con el fin, a $1, $2, ... $n. Las opciones, si se especifican, tienen lo siguiente
significados:
-a Marcar automáticamente las variables y funciones que se modifican o crean
para exportar al entorno de comandos posteriores.
-b Informar el estado de los trabajos en segundo plano terminados de inmediato, en lugar de
antes del siguiente mensaje principal. Esto es efectivo solo cuando el control del trabajo es
habilitado
-e Salga inmediatamente si un industrial (que puede consistir en un solo simples
comando), La lista, o una compuesto comando (consulta: SHELL GRAMÁTICA arriba), salidas
con un estado distinto de cero. El shell no sale si el comando que falla
es parte de la lista de comandos inmediatamente después de un mientras or hasta palabra clave,
parte de la prueba siguiendo el if or elif palabras reservadas, parte de cualquier
comando ejecutado en un && or || lista excepto el comando que sigue al final
&& or ||, cualquier comando en una canalización excepto el último, o si el comando es
el valor de retorno se invierte con !. Si un comando compuesto que no sea
subshell devuelve un estado distinto de cero porque un comando falló mientras -e fue
siendo ignorado, el shell no sale. Una trampa en ERR, si se establece, se ejecuta
antes de que salga el caparazón. Esta opción se aplica al entorno de shell y
cada entorno de subcapa por separado (ver COMANDO EJECUCIÓN MEDIO AMBIENTE
arriba), y puede hacer que las subcapas salgan antes de ejecutar todos los comandos
en el subshell.

Si un comando compuesto o una función de shell se ejecuta en un contexto donde -e is
siendo ignorado, ninguno de los comandos ejecutados dentro del comando compuesto o
El cuerpo funcional se verá afectado por la -e escenario, incluso si -e está configurado y un
El comando devuelve un estado de falla. Si un comando compuesto o una función de shell
conjuntos -e mientras se ejecuta en un contexto donde -e se ignora, esa configuración
no tendrá ningún efecto hasta que el comando compuesto o el comando que contiene
la llamada a la función se completa.
-f Deshabilite la expansión de nombre de ruta.
-h Recuerde la ubicación de los comandos a medida que se buscan para su ejecución.
Esto está habilitado por defecto.
-k Todos los argumentos en forma de declaraciones de asignación se colocan en el
entorno para un comando, no solo los que preceden al nombre del comando.
-m Modo monitor. El control de trabajos está habilitado. Esta opción está activada de forma predeterminada para
shells interactivos en sistemas que lo soportan (ver TRABAJO CONTROL sobre). Todo
Los procesos se ejecutan en un grupo de procesos separado. Cuando un trabajo en segundo plano
completa, el shell imprime una línea que contiene su estado de salida.
-n Lea los comandos pero no los ejecute. Esto puede usarse para verificar un caparazón
script para errores de sintaxis. Esto es ignorado por los shells interactivos.
-o nombre-opción
El nombre-opción puede ser uno de los siguientes:
exportar
Igual que -a.
corséexpandir
Igual que -B.
emacs Utilice una interfaz de edición de línea de comandos estilo emacs. Esto esta habilitado
por defecto cuando el shell es interactivo, a menos que el shell sea
comenzó con el --noeditar opción. Esto también afecta a la edición.
interfaz utilizada para leer -e.
erresalir Igual que -e.
rastro de error
Igual que -E.
seguimiento de funciones
Igual que -T.
hashall Igual que -h.
histampliar
Igual que -H.
historia Habilite el historial de comandos, como se describe arriba en HISTORIA. Esto
La opción está activada de forma predeterminada en los shells interactivos.
ignorante de
El efecto es como si el comando de shell `` IGNOREEOF = 10 '' hubiera sido
ejecutado (ver Cáscara Variables encima).
keyword Igual que -k.
monitorear Igual que -m.
no clobber
Igual que -C.
noexec Igual que -n.
noglob Igual que -f.
nolog Actualmente ignorado.
notificar Igual que -b.
sustantivo Igual que -u.
un cmd Igual que -t.
los libros físicos
Igual que -P.
tubería
Si se establece, el valor de retorno de una canalización es el valor de la última
(más a la derecha) comando para salir con un estado distinto de cero, o cero si todos
Los comandos en la canalización salen con éxito. Esta opcion es
desactivado por defecto.
POSIX Cambiar el comportamiento de golpear donde la operación predeterminada difiere
del estándar POSIX para que coincida con el estándar (POSIX modo). Ver
VEA O a continuación para obtener una referencia a un documento que detalla cómo posix
El modo afecta el comportamiento de bash.
privilegiado
Igual que -p.
verboso Igual que -v.
vi Utilice una interfaz de edición de línea de comandos de estilo vi. Esto también afecta
la interfaz de edición utilizada para leer -e.
xtrace Igual que -x.
If -o se suministra sin nombre-opción, los valores de las opciones actuales
están impresos. Si +o se suministra sin nombre-opción, una serie de set
comandos para recrear la configuración de opciones actual se muestra en el
salida estándar.
-p "Permitir" privilegiado modo. En este modo, el $ ENV y $ BASH_ENV los archivos son
no se procesan, las funciones de shell no se heredan del entorno, y
las COMPRAS, BASTIDORES, CDPATHy GLOBIGNORAR variables, si aparecen
en el medio ambiente, se ignoran. Si el shell se inicia con el
El ID de usuario (grupo) efectivo no es igual al ID de usuario (grupo) real, y el -p
no se proporciona la opción, estas acciones se toman y la identificación de usuario efectiva
se establece en el ID de usuario real. Si el -p La opción se suministra al inicio, la
La identificación de usuario efectiva no se restablece. Desactivar esta opción hace que
ID de usuario y grupo efectivos que se establecerán en los ID de usuario y grupo reales.
-t Salga después de leer y ejecutar un comando.
-u Trate las variables y los parámetros no configurados que no sean los parámetros especiales "@"
y "*" como error al realizar la expansión de parámetros. Si la expansión es
intentado en una variable o parámetro no establecido, el shell imprime un error
mensaje y, si no es interactivo, sale con un estado distinto de cero.
-v Imprime las líneas de entrada del shell a medida que se leen.
-x Después de expandir cada simples comando, para mando, case mando, selecciona
comando o aritmética para comando, muestra el valor expandido de PS4,
seguido del comando y sus argumentos expandidos o la lista de palabras asociada.
-B El caparazón realiza la expansión de la abrazadera (ver Abrazadera Expansión sobre). Esto esta en
por defecto
-C Si está configurado, golpear no sobrescribe un archivo existente con el >, >&y <>
operadores de redirección. Esto puede anularse al crear archivos de salida.
utilizando el operador de redirección >| en lugar de >.
-E Si se coloca, cualquier trampa en ERR es heredado por funciones de shell, comando
sustituciones y comandos ejecutados en un entorno de subshell. El ERR
La trampa normalmente no se hereda en tales casos.
-H permitir ! sustitución de la historia de estilo. Esta opción está activada de forma predeterminada cuando
el caparazón es interactivo.
-P Si está configurado, el shell no resuelve los enlaces simbólicos al ejecutar comandos
como cd que cambian el directorio de trabajo actual. Usa el fisico
estructura de directorio en su lugar. Por defecto, golpear sigue la cadena lógica de
directorios al ejecutar comandos que cambian el directorio actual.
-T Si está colocado, cualquier trampa en DEBUG y DEVOLUCION son heredados por funciones de shell,
sustituciones de comandos y comandos ejecutados en un entorno de subshell.
El DEBUG y DEVOLUCION las trampas normalmente no se heredan en tales casos.
-- Si no hay argumentos a continuación de esta opción, entonces los parámetros posicionales son
desarmado. De lo contrario, los parámetros posicionales se establecen en el args, incluso si
algunos de ellos comienzan con un -.
- Señala el final de las opciones, porque todas quedan args para ser asignados a la
parámetros posicionales. los -x y -v las opciones están desactivadas. Si hay
no args, los parámetros posicionales permanecen sin cambios.

Las opciones están desactivadas de forma predeterminada a menos que se indique lo contrario. Usando + en lugar de -
hace que estas opciones se desactiven. Las opciones también se pueden especificar como
argumentos a una invocación del shell. Se puede encontrar el conjunto de opciones actual
in $-. El estado de devolución es siempre verdadero a menos que se encuentre una opción no válida.

Turno [n]
Los parámetros posicionales de n+1 ... se renombra a $1 .... parámetros
representado por los números $# hasta $#-n+1 están desarmados. n debe ser un no negativo
número menor o igual a $#. Si n es 0, no se modifican los parámetros. Si n is
no se da, se supone que es 1. Si n es mayor que $#, el posicional
los parámetros no se modifican. El estado de devolución es mayor que cero si n es mayor
que $# o menos de cero; de lo contrario 0.

comprado [-pqsu] [-o] [nombreopción ...]
Alternar los valores de las configuraciones que controlan el comportamiento del shell opcional. La configuración
pueden ser los que se enumeran a continuación o, si el -o se utiliza la opción, las disponibles
con el -o opción a la set comando incorporado. Sin opciones, o con el -p
opción, se muestra una lista de todas las opciones configurables, con una indicación de si
o no cada uno está configurado. El -p La opción hace que la salida se muestre en una forma que puede
ser reutilizado como entrada. Otras opciones tienen los siguientes significados:
-s Habilitar (establecer) cada nombreopción.
-u Desactivar (desarmar) cada nombreopción.
-q Suprime la salida normal (modo silencioso); el estado de devolución indica si
las nombreopción está armado o desarmado. Si es múltiple nombreopción los argumentos se dan con
-q, el estado de devolución es cero si todos nombres de opciones están habilitados; distinto de cero
de otra manera.
-o Restringe los valores de nombreopción a ser los definidos para el -o opción a la
set incorporado.

Si alguno -s or -u se usa sin nombreopción argumentos, comprado muestra solo aquellos
opciones que están activadas o desactivadas, respectivamente. A menos que se indique lo contrario, el comprado
las opciones están deshabilitadas (no configuradas) de forma predeterminada.

El estado de devolución cuando se enumeran las opciones es cero si todas nombres de opciones están habilitados, no
cero en caso contrario. Al armar o desarmar opciones, el estado de retorno es cero
a menos que un nombreopción no es una opción de shell válida.

La lista de los comprado opciones es:

autocd Si se establece, un nombre de comando que es el nombre de un directorio se ejecuta como si
fueron el argumento de la cd mando. Esta opción solo la utilizan
conchas interactivas.
cdable_vars
Si se establece, un argumento a la cd comando incorporado que no es un directorio es
se supone que es el nombre de una variable cuyo valor es el directorio a cambiar
a.
hechizo de cd Si se establece, errores menores en la ortografía de un componente de directorio en un cd
El comando será corregido. Los errores comprobados se trasponen
caracteres, un carácter faltante y un carácter de más. Si un
se encuentra la corrección, se imprime el nombre de archivo corregido y el comando
producto. Esta opción solo la utilizan los shells interactivos.
comprobar hash
Si está configurado, golpear comprueba que existe un comando encontrado en la tabla hash antes
tratando de ejecutarlo. Si un comando hash ya no existe, una ruta normal
se realiza la búsqueda.
checar trabajos
Si está configurado, golpear enumera el estado de cualquier trabajo detenido y en ejecución antes
salir de un shell interactivo. Si hay trabajos en ejecución, esto hace que
la salida se aplazará hasta que se intente una segunda salida sin una intervención
comando (ver TRABAJO CONTROL sobre). El caparazón siempre pospone la salida si la hay.
los trabajos se detienen.
comprobar tamaño ganador
Si está configurado, golpear comprueba el tamaño de la ventana después de cada comando y, si es necesario,
actualiza los valores de LÍNEAS y COLUMNAS.
cmdhista Si está configurado, golpear intenta guardar todas las líneas de un comando de varias líneas en el
misma entrada del historial. Esto permite una fácil reedición de comandos multilínea.
compatible31
Si está configurado, golpear cambia su comportamiento al de la versión 3.1 con respecto a
citó argumentos a la [[ comando condicional =~ operador y local
comparación de cadenas específicas cuando se utiliza el [[ comando condicional < y >
operadores. Las versiones de Bash anteriores a bash-4.1 usan intercalación ASCII y
strcmp(3); bash-4.1 y versiones posteriores usan la secuencia de clasificación de la configuración regional actual
y pasear(3).
compatible32
Si está configurado, golpear cambia su comportamiento al de la versión 3.2 con respecto a
comparación de cadenas específicas de la configuración regional cuando se utiliza el [[ comando condicional <
y > operadores (ver ítem anterior).
compatible40
Si está configurado, golpear cambia su comportamiento al de la versión 4.0 con respecto a
comparación de cadenas específicas de la configuración regional cuando se utiliza el [[ comando condicional <
y > operadores (ver descripción de compatible31) y el efecto de
interrumpir una lista de comandos. Bash versiones 4.0 y posteriores interrumpen el
lista como si el shell recibiera la interrupción; las versiones anteriores continúan
con el siguiente comando de la lista.
compatible41
Si está configurado, golpear, cuando en POSIX modo, trata una comilla simple en una comilla doble
expansión de parámetros como un carácter especial. Las comillas simples deben coincidir
(un número par) y los caracteres entre las comillas simples son
considerado cotizado. Este es el comportamiento del modo posix hasta la versión 4.1.
El comportamiento de bash predeterminado permanece como en versiones anteriores.
compatible42
Si está configurado, golpear no procesa la cadena de reemplazo en el patrón
Expansión de palabras de sustitución mediante la eliminación de comillas.
cita_completa
Si está configurado, golpear cita todos los metacaracteres de shell en nombres de archivo y directorio
nombres al realizar la finalización. Si no está configurado, golpear elimina metacaracteres
como el signo de dólar del conjunto de caracteres que se citarán en
nombres de archivo completos cuando estos metacaracteres aparecen en la variable de shell
referencias en palabras para completar. Esto significa que el dólar ingresa
los nombres de variables que se expanden a directorios no se citarán; sin embargo, cualquier
Los signos de dólar que aparecen en los nombres de los archivos tampoco se citarán. Esto es
activo solo cuando bash usa barras invertidas para citar nombres de archivo completos.
Esta variable está configurada de forma predeterminada, que es el comportamiento de bash predeterminado en
versiones hasta 4.2.
expandir
Si está configurado, golpear reemplaza los nombres de directorio con los resultados de la expansión de palabras
al realizar la finalización del nombre de archivo. Esto cambia el contenido de la
búfer de edición de readline. Si no está configurado, golpear intenta preservar lo que el
usuario escrito.
desperdigar
Si está configurado, golpear intenta corregir la ortografía en los nombres de directorio durante la palabra
finalización si el nombre de directorio proporcionado inicialmente no existe.
puntoglob Si está configurado, golpear incluye nombres de archivo que comienzan con un `. ' en los resultados de
expansión de nombre de ruta.
error ejecutivo
Si se establece, un shell no interactivo no se cerrará si no puede ejecutar el archivo.
especificado como un argumento a la ejecutivo comando incorporado. Un caparazón interactivo
no sale si ejecutivo falla.
expandir_aliases
Si se establece, los alias se expanden como se describe arriba en ALIAS. Esta opción
está habilitado de forma predeterminada para shells interactivos.
extdebug
Si se establece, el comportamiento destinado a ser utilizado por depuradores está habilitado:
1. El -F opción a la declarar incorporado muestra el nombre del archivo fuente
y el número de línea correspondiente a cada nombre de función proporcionado como
argumento.
2. Si el comando ejecutado por el DEBUG trap devuelve un valor distinto de cero, el
el siguiente comando se omite y no se ejecuta.
3. Si el comando ejecutado por el DEBUG trap devuelve un valor de 2, y el
shell se está ejecutando en una subrutina (una función de shell o un shell
script ejecutado por el . or fuente incorporados), una llamada a volvemos is
simulado.
4. BASH_ARGC y BASH_ARGV se actualizan como se describe en su
descripciones anteriores.
5. El seguimiento de funciones está habilitado: sustitución de comandos, funciones de shell,
y subcapas invocadas con ( comando ) heredar el DEBUG y DEVOLUCION
trampas
6. El rastreo de errores está habilitado: sustitución de comandos, funciones de shell,
y subcapas invocadas con ( comando ) heredar el ERR trampa.
extglob Si se establece, las funciones de coincidencia de patrones extendidas descritas anteriormente en
Nombre de ruta Expansión están habilitados
citar
Si está configurado, $'cadena'y $"cadena"la cotización se realiza dentro de ${parámetro}
expansiones entre comillas dobles. Esta opción está activada de forma predeterminada.
falloglob
Si se establece, los patrones que no coinciden con los nombres de archivo durante la expansión de la ruta
producirá un error de expansión.
fuerza_fignore
Si se establece, los sufijos especificados por el FIGNORE variable de shell causa que las palabras
ser ignorado al completar palabras incluso si las palabras ignoradas son
las únicas terminaciones posibles. Ver SHELL VARIABLES arriba para una descripción
of FIGNORE. Esta opción está activada de forma predeterminada.
rangos globascii
Si se establece, las expresiones de rango utilizadas en expresiones de corchetes de coincidencia de patrones (consulte
Patrón de Costura Coincidencia de arriba) se comportan como si estuvieran en la configuración regional tradicional de C cuando
realizar comparaciones. Es decir, la secuencia de clasificación de la configuración regional actual
no se tiene en cuenta, por lo que b no cotejará entre A y By
Los caracteres ASCII en mayúsculas y minúsculas se clasificarán juntos.
estrella global
Si está configurado, el patrón ** utilizado en un contexto de expansión de nombre de ruta coincidirá con todos
archivos y cero o más directorios y subdirectorios. Si el patrón es
seguido por un /, solo los directorios y subdirectorios coinciden.
gnu_errfmt
Si se establece, los mensajes de error de shell se escriben en el mensaje de error estándar de GNU
formato.
histappend
Si se establece, la lista del historial se agrega al archivo nombrado por el valor de la
ARCHIVO HISTÓRICO variable cuando el shell sale, en lugar de sobrescribir el archivo.
histreeditar
Si está configurado, y readline se está utilizando, un usuario tiene la oportunidad de volver a
editar una sustitución fallida del historial.
histverificar
Si está configurado, y readline se está utilizando, los resultados de la sustitución del historial son
no se pasa inmediatamente al analizador de shell. En cambio, la línea resultante es
cargado en el readline búfer de edición, lo que permite modificaciones posteriores.
anfitrión completo
Si está configurado, y readline esta siendo usado, golpear intentará realizar el nombre de host
finalización cuando una palabra que contiene un @ se está completando (ver Completando
bajo LEER LÍNEA sobre). Esto está habilitado por defecto.
huponesalir
Si está configurado, golpear enviará SUSCRÍBETE a todos los trabajos cuando un shell de inicio de sesión interactivo
salidas
comentarios_interactivos
Si está configurado, permita una palabra que comience con # para causar esa palabra y todo lo que queda
caracteres en esa línea para ser ignorados en un shell interactivo (ver COMENTARIOS
sobre). Esta opción está activada de forma predeterminada.
último tubo
Si se establece y el control del trabajo no está activo, el shell ejecuta el último comando de un
canalización no ejecutada en segundo plano en el entorno de shell actual.
litista Si está configurado, y el cmdhista opción está habilitada, los comandos multilínea se guardan en
el historial con nuevas líneas incrustadas en lugar de utilizar separadores de punto y coma
donde sea posible.
login_shell
El shell establece esta opción si se inicia como un shell de inicio de sesión (consulte
INVOCACIÓN sobre). El valor no puede cambiarse.
avisar por correo
Si está configurado, y un archivo que golpear se ha accedido a comprobar si hay correo desde
la última vez que se verificó, el mensaje `` El correo en archivo de correo ha sido
read '' se muestra.
no_empty_cmd_completion
Si está configurado, y readline esta siendo usado, golpear no intentará buscar en el
TRAYECTORIA para posibles terminaciones cuando se intenta completar en un vacío
la línea.
nocaseglob
Si está configurado, golpear coincide con los nombres de archivo de una manera que no distingue entre mayúsculas y minúsculas cuando
realizar expansión de nombre de ruta (ver Nombre de ruta Expansión encima).
no hay coincidencia
Si está configurado, golpear coincide con los patrones de una manera que no distingue entre mayúsculas y minúsculas al realizar
haciendo coincidir mientras se ejecuta case or [[ comandos condicionales.
globo nulo
Si está configurado, golpear permite patrones que no coinciden con archivos (ver Nombre de ruta Expansión
arriba) para expandirse a una cadena nula, en lugar de a sí mismos.
progcomp
Si está configurado, las funciones de terminación programables (ver Programable Cierre
arriba) están habilitados. Esta opción está activada de forma predeterminada.
prontavars
Si se establece, las cadenas de solicitud se someten a expansión de parámetros, sustitución de comandos,
expansión aritmética y eliminación de cotizaciones después de expandirse como se describe
in INCITACIÓN sobre. Esta opción está activada de forma predeterminada.
concha_restringida
El shell establece esta opción si se inicia en modo restringido (ver
RESTRINGIDO SHELL debajo). El valor no puede cambiarse. Esto no se reinicia
cuando se ejecutan los archivos de inicio, lo que permite que los archivos de inicio descubran
si un caparazón está restringido o no.
shift_verbose
Si está configurado, el Turno incorporado imprime un mensaje de error cuando el recuento de turnos
excede el número de parámetros posicionales.
ruta de origen
Si está configurado, el fuente (.) incorporado utiliza el valor de TRAYECTORIA para encontrar el directorio
que contiene el archivo proporcionado como argumento. Esta opción está habilitada por
predeterminado.
xpg_echo
Si está configurado, el echo incorporado expande las secuencias de barra invertida y escape de forma predeterminada.

suspender [-f]
Suspenda la ejecución de este shell hasta que reciba un SEÑAL señal. Un inicio de sesión
el caparazón no se puede suspender; el -f La opción se puede utilizar para anular esto y forzar la
suspensión. El estado de retorno es 0 a menos que el shell sea un shell de inicio de sesión y -f no es
suministrado, o si el control de trabajos no está habilitado.

test expr
[ expr ]
Devuelve un estado de 0 (verdadero) o 1 (falso) según la evaluación del
expresión condicional expr. Cada operador y operando debe ser un
argumento. Las expresiones se componen de las primarias descritas anteriormente en
CONDICIONAL EXPRESIONES. test no acepta ninguna opción, ni acepta y
ignorar un argumento de -- como significando el final de las opciones.

Las expresiones se pueden combinar utilizando los siguientes operadores, enumerados en orden decreciente
orden de precedencia. La evaluación depende del número de argumentos; vea abajo.
La precedencia del operador se usa cuando hay cinco o más argumentos.
! expr Cierto si expr Es falso.
( expr )
Devuelve el valor de expr. Esto se puede utilizar para anular el normal
precedencia de los operadores.
Expr1 -a Expr2
Cierto si ambos Expr1 y Expr2 son verdaderas.
Expr1 -o Expr2
Verdadero si cualquiera Expr1 or Expr2 es verdad.

test y [ Evaluar expresiones condicionales usando un conjunto de reglas basadas en el
número de argumentos.

Argumentos 0
La expresión es falsa.
1 argumento
La expresión es verdadera si y solo si el argumento no es nulo.
Argumentos 2
Si el primer argumento es !, la expresión es verdadera si y solo si el segundo
el argumento es nulo. Si el primer argumento es uno de los condicional unario
operadores enumerados anteriormente en CONDICIONAL EXPRESIONES, la expresión es verdadera
si la prueba unaria es verdadera. Si el primer argumento no es un unario válido
operador condicional, la expresión es falsa.
Argumentos 3
Las siguientes condiciones se aplican en el orden indicado. Si el segundo
El argumento es uno de los operadores condicionales binarios enumerados anteriormente en
CONDICIONAL EXPRESIONES, el resultado de la expresión es el resultado de la
prueba binaria utilizando el primer y tercer argumento como operandos. El -a y -o
Los operadores se consideran operadores binarios cuando hay tres argumentos.
Si el primer argumento es !, el valor es la negación de los dos argumentos
prueba usando el segundo y tercer argumento. Si el primer argumento es exactamente
( y el tercer argumento es exactamente ), el resultado es la prueba de un argumento
del segundo argumento. De lo contrario, la expresión es falsa.
Argumentos 4
Si el primer argumento es !, el resultado es la negación de los tres argumentos
expresión compuesta por los argumentos restantes. De lo contrario, la expresión
se analiza y evalúa de acuerdo con la precedencia utilizando las reglas enumeradas
anterior.
5 o más argumentos
La expresión se analiza y evalúa de acuerdo con la precedencia utilizando el
reglas enumeradas anteriormente.

Cuando se usa con test or [, la < y > los operadores ordenan lexicográficamente usando ASCII
ordenando

veces Imprima los tiempos acumulados del usuario y del sistema para el shell y para los procesos que se ejecutan
de la cáscara. El estado de devolución es 0.

trampa [-lp] [[arg] sigspec ...]
El comando arg debe leerse y ejecutarse cuando el shell recibe señal (s)
sigspec. Si arg está ausente (y hay un solo sigspec) o -, cada uno especificado
la seal se restablece a su disposicin original (el valor que tena al entrar al
cáscara). Si arg es la cadena nula la señal especificada por cada sigspec es ignorado
por el shell y por los comandos que invoca. Si arg no está presente y -p ha sido
suministrado, entonces los comandos trap asociados con cada sigspec son mostrados. Si no
se proporcionan argumentos o si solo -p es dado, trampa imprime la lista de comandos
asociado con cada señal. El -l La opción hace que el shell imprima una lista de
nombres de señales y sus números correspondientes. Cada sigspec es un nombre de señal
definido enseñal.h>, o un número de señal. Los nombres de las señales no distinguen entre mayúsculas y minúsculas y
las SIG el prefijo es opcional.

Si un sigspec is SALIR (0) el comando arg se ejecuta al salir del shell. Si un
sigspec is DEBUG, El comando arg se ejecuta antes de cada simples comando, para
mando, case mando, selecciona comando, toda aritmética para comando, y antes del
primer comando se ejecuta en una función de shell (ver SHELL GRAMÁTICA sobre). Referirse a
descripción del extdebug opción a la comprado incorporado para obtener detalles de su efecto
en DEBUG trampa. Si un sigspec is DEVOLUCION , El comando arg se ejecuta cada vez que un
función de shell o un script ejecutado con el . or fuente acabados incorporados
ejecutando.

Si un sigspec is ERR, El comando arg se ejecuta siempre que una tubería (que puede
consisten en un solo comando simple), una lista o un comando compuesto devuelve un
estado de salida distinto de cero, sujeto a las siguientes condiciones. El ERR la trampa no es
ejecutado si el comando fallido es parte de la lista de comandos inmediatamente después de un
mientras or hasta palabra clave, parte de la prueba en un if declaración, parte de un comando
ejecutado en un && or || lista excepto el comando que sigue al final && or ||, alguna
comando en una canalización, pero el último, o si el valor de retorno del comando está siendo
invertido usando !. Estas son las mismas condiciones que obedecen los erresalir (-e) opción.

Las señales ignoradas al entrar en el caparazón no pueden ser atrapadas o reiniciadas. Atrapado
las señales que no se ignoran se restablecen a sus valores originales en una subcapa
o entorno de subcapa cuando se crea uno. El estado de devolución es falso si lo hay
sigspec no es válido; de lo contrario trampa devuelve verdadero

tipo [-aftpP] nombre [nombre ...]
Sin opciones, indique cómo cada nombre se interpretaría si se usara como un comando
nombre. Si el -t se utiliza la opción, tipo imprime una cadena que es una de alias,
keyword, función, incorporadoo presentar if nombre es un alias, palabra reservada de shell,
función, incorporado o archivo de disco, respectivamente. Si el nombre no se encuentra, entonces
no se imprime nada y se devuelve un estado de salida falso. Si el -p opción es
usado, tipo o devuelve el nombre del archivo de disco que se ejecutaría si nombre
se especificaron como un nombre de comando, o nada si `` type -t name '' no devolvía
presentar. -P la opción fuerza un TRAYECTORIA buscar cada uno nombre , incluso si `` escribe -t nombre ''
no volvería presentar. Si un comando tiene hash, -p y -P imprimir el valor hash,
que no es necesariamente el archivo que aparece primero en TRAYECTORIA. Si el -a opción es
usado, tipo imprime todos los lugares que contienen un ejecutable llamado nombre . Esto
incluye alias y funciones, si y solo si el -p La opción tampoco se utiliza. El
La tabla de comandos hash no se consulta cuando se usa -a. -f opción suprime
búsqueda de función de shell, como con el comando incorporado. tipo devuelve verdadero si todos
se encuentran los argumentos, falso si no se encuentra alguno.

ulimit [-HSTabcdefilmnpqrstuvx [límitar]]
Proporciona control sobre los recursos disponibles para el shell y los procesos iniciados.
por ella, en sistemas que permitan dicho control. El -H y -S opciones especifican que el
Se establece un límite estricto o blando para el recurso dado. No se puede aumentar un límite estricto
por un usuario no root una vez configurado; un límite blando puede aumentarse hasta el valor de
el límite duro. Si ninguno -H ni -S se especifica, tanto los límites suaves como los estrictos
se establecen. El valor de límitar puede ser un número en la unidad especificada para el recurso
o uno de los valores especiales en las, suaveo ilimitado, que representan la corriente
límite estricto, límite suave actual y sin límite, respectivamente. Si límitar is
omitido, se imprime el valor actual del límite flexible del recurso, a menos que el
-H se da la opción. Cuando se especifica más de un recurso, el nombre del límite y
la unidad se imprime antes del valor. Otras opciones se interpretan de la siguiente manera:
-a Se informan todos los límites actuales
-b El tamaño máximo de búfer de socket
-c El tamaño máximo de los archivos centrales creados
-d El tamaño máximo del segmento de datos de un proceso.
-e La prioridad máxima de programación ("agradable")
-f El tamaño máximo de los archivos escritos por el shell y sus elementos secundarios.
-i El número máximo de señales pendientes
-l El tamaño máximo que se puede bloquear en la memoria
-m El tamaño máximo del conjunto residente (muchos sistemas no respetan este límite)
-n El número máximo de descriptores de archivos abiertos (la mayoría de los sistemas no permiten esta
valor a establecer)
-p El tamaño de la tubería en bloques de 512 bytes (es posible que no se establezca)
-q El número máximo de bytes en las colas de mensajes POSIX
-r La máxima prioridad de programación en tiempo real
-s El tamaño máximo de pila
-t La cantidad máxima de tiempo de la CPU en segundos.
-u El número máximo de procesos disponibles para un solo usuario
-v La cantidad máxima de memoria virtual disponible para el shell y, en algunos
sistemas, a sus hijos
-x El número máximo de bloqueos de archivos
-T El número máximo de subprocesos

If límitar se da, y el -a la opción no se utiliza, límitar es el nuevo valor de la
recurso especificado. Si no se da ninguna opción, entonces -f se supone. Los valores están en
Incrementos de 1024 bytes, excepto para -t, que está en segundos; -p, que está en unidades de
Bloques de 512 bytes; y -T, -b, -ny -u, que son valores sin escala. El regreso
el estado es 0 a menos que se proporcione una opción o argumento no válido, o se produzca un error
mientras establece un nuevo límite.

umask [-p] [-S] [modo]
La máscara de creación de archivos de usuario se establece en modo. Si modo comienza con un dígito, es
interpretado como un número octal; de lo contrario, se interpreta como una máscara de modo simbólico
similar al aceptado por chmod(1). Si modo se omite, el valor actual de la
se imprime la máscara. El -S La opción hace que la máscara se imprima en forma simbólica; el
la salida predeterminada es un número octal. Si el -p se suministra la opción, y modo is
omitido, la salida está en una forma que se puede reutilizar como entrada. El estado de devolución es
0 si el modo se cambió con éxito o si no modo se suministró el argumento, y
falso de lo contrario.

unalias [-a] [nombre ...]
Quitar cada nombre de la lista de alias definidos. Si -a se suministra, todos los alias
se eliminan las definiciones. El valor de retorno es verdadero a menos que se proporcione nombre no es un
alias definido.

desarmado [-fv] [-n] [nombre ...]
Para cada uno nombre , elimine la variable o función correspondiente. Si el -v opción es
dado, cada nombre se refiere a una variable de shell, y esa variable se elimina. Leer-
solo las variables no pueden desarmarse. Si -f se especifica, cada nombre se refiere a un caparazón
función, y se elimina la definición de función. Si el -n se suministra la opción,
y nombre es una variable con el referencia del nombre atributo, nombre estará desarmado en lugar de
la variable a la que hace referencia. -n no tiene ningún efecto si el -f se suministra la opción. Si no
se suministran opciones, cada nombre se refiere a una variable; si no hay variable por
ese nombre, cualquier función con ese nombre no está definida. Cada variable o función desarmada
se elimina del entorno y se pasa a los comandos posteriores. Si alguno de
COMP_WORDBREAKS, AZAR, SECONDS, LINENO, HISTCMD, NOMBRE DE FUNCIÓN, GRUPOSo pila de basura
están desarmados, pierden sus propiedades especiales, incluso si se restablecen posteriormente.
El estado de salida es verdadero a menos que un nombre es de solo lectura.

esperar [-n] [n ...]
Espere cada proceso hijo especificado y devuelva su estado de terminación. Cada n
puede ser un ID de proceso o una especificación de trabajo; si se da una especificación de trabajo, todos los procesos
en la tubería de ese trabajo se esperan. Si n no se da, todos actualmente activos
Se esperan los procesos secundarios y el estado de devolución es cero. Si el -n opción es
suministrado, esperar espera a que termine cualquier trabajo y devuelve su estado de salida. Si n
especifica un proceso o trabajo inexistente, el estado de retorno es 127. De lo contrario, el
El estado de retorno es el estado de salida del último proceso o trabajo esperado.

RESTRINGIDO SHELL


If golpear comienza con el nombre rbash, o el -r La opción se proporciona en la invocación, la
shell se vuelve restringido. Se utiliza un shell restringido para configurar un entorno más
controlado que el caparazón estándar. Se comporta de manera idéntica a golpear con la excepcion
que lo siguiente no está permitido o no se realiza:

· Cambiar directorios con cd

· Armado o desarmado de los valores de SHELL, TRAYECTORIA, ENVo BASH_ENV

· Especificar los nombres de los comandos que contienen /

· Especificar un nombre de archivo que contenga un / como argumento a la . comando incorporado

· Especificar un nombre de archivo que contenga una barra como argumento para -p opción a la
hachís comando incorporado

· Importar definiciones de funciones desde el entorno de shell al inicio

· Analizar el valor de COMPRAS desde el entorno de shell al inicio

· Redirigir la salida usando los operadores de redirección>,> |, <>,> &, &> y >>

· utilizando el ejecutivo comando incorporado para reemplazar el shell con otro comando

· Agregar o eliminar comandos integrados con el -f y -d opciones para el habilitar
comando incorporado

· utilizando el habilitar comando incorporado para habilitar las funciones integradas de shell deshabilitadas

· Especificando el -p opción a la comando comando incorporado

· Desactivar el modo restringido con set +r or set +o límite.

Estas restricciones se aplican después de leer los archivos de inicio.

Cuando se ejecuta un comando que se considera un script de shell (consulte COMANDO EJECUCIÓN
encima), rbash desactiva cualquier restricción en el shell generado para ejecutar el script.

Use bash en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    Complemento Eclipse Tomcat
    Complemento Eclipse Tomcat
    El complemento Eclipse Tomcat proporciona
    integración simple de un servlet tomcat
    contenedor para el desarrollo de java
    aplicaciones web. Puedes unirte a nosotros para
    discutirio ...
    Descargar el complemento Eclipse Tomcat
  • 2
    Escritorio WebTorrent
    Escritorio WebTorrent
    WebTorrent Desktop es para streaming
    torrents en Mac, Windows o Linux. Eso
    se conecta a BitTorrent y
    Compañeros de WebTorrent. Ahora no hay
    Necesito esperar ...
    Descargar WebTorrent Escritorio
  • 3
    GenX
    GenX
    GenX es un programa científico para refinar
    refelcetivity de rayos X, neutrones
    reflectividad y rayos X de superficie
    datos de difracción usando el diferencial
    algoritmo de evolución ....
    Descargar GenX
  • 4
    pspp4ventanas
    pspp4ventanas
    PSPP es un programa de estadística
    análisis de datos muestreados. es gratis
    sustitución del programa propietario
    SPSS. El PSPP tiene tanto contenido basado en texto como
    gráfico nosotros...
    Descargar pspp4windows
  • 5
    Extensiones Git
    Extensiones Git
    Git Extensions es una herramienta de interfaz de usuario independiente
    para administrar repositorios de Git. También
    se integra con el Explorador de Windows y
    Microsoft Visual Studio
    (2015/2017/2019). Es ...
    Descargar extensiones Git
  • 6
    eSpeak: síntesis de voz
    eSpeak: síntesis de voz
    Motor de texto a voz para inglés y
    muchos otros idiomas. Tamaño compacto con
    Pronunciación clara pero artificial.
    Disponible como un programa de línea de comandos con
    muchos ...
    Descargar eSpeak: síntesis de voz
  • Más "

Comandos de Linux

Ad