Este es el comando setposix 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
establecer - configurar o desarmar opciones y parámetros posicionales
SINOPSIS
. [−abCefhmnuvx] [−o opción] [argumento...]
. [+ abCefhmnuvx] [+o opción] [argumento...]
conjunto −− [argumento...]
conjunto −o
establecer + o
DESCRIPCIÓN
Si no es correcto opcións o argumentos están especificados, . escribirá los nombres y valores de todos
variables de shell en la secuencia de clasificación de la configuración regional actual. Cada nombre comenzará en
una línea separada, usando el formato:
"% s =% s \ n", <nombre >,valor>
La sección valor la cadena se escribirá con las comillas adecuadas; ver la descripción de shell
citando en Sección 2.2, Citando. La salida debe ser adecuada para reintroducirse en la carcasa,
configurar o restablecer, en la medida de lo posible, las variables que están configuradas actualmente; solo lectura
las variables no se pueden restablecer.
Cuando se especifican opciones, deben activar o desactivar los atributos del shell, como se describe
debajo. Cuando argumentos se especifican, hacen que los parámetros posicionales se establezcan o desarmen,
como se describe abajo. El armado o desarmado de atributos y parámetros posicionales no son
acciones necesariamente relacionadas, pero se pueden combinar en una sola invocación de ..
La sección . el incorporado especial admitirá el volumen de Definiciones básicas de POSIX.1‐2008,
Sección 12.2, Utilidad Sintaxis Reglas: excepto que las opciones se pueden especificar con un
principal (lo que significa habilitar la opción) o (es decir, deshabilitarlo) a menos que
especificado de otra manera.
Las implementaciones respaldarán las opciones de la siguiente lista en sus y
formas. Estas opciones también se pueden especificar como opciones para sh.
−un Cuando esta opción está activada, exportar se establecerá un atributo para cada variable a la que
se realiza una asignación; consulte el volumen de Definiciones básicas de POSIX.1‐2008, Sección
4.22, Variable Asignación. Si la asignación precede al nombre de una utilidad en un comando,
el exportar El atributo no persistirá en el entorno de ejecución actual después de
la utilidad se completa, con la excepción de que precede a una de las funciones especiales incorporadas
utilidades hace que el exportar atributo para persistir después de que se haya completado la función incorporada.
Si la asignación no precede al nombre de una utilidad en el comando, o si el
asignación es el resultado de la operación de la obtener opciones or read utilidades, el exportar
El atributo persistirá hasta que se elimine la variable.
−b Esta opción se admitirá si la implementación admite la portabilidad del usuario
Opción de utilidades. Deberá hacer que el shell notifique al usuario de forma asincrónica de
finalizaciones de trabajos en segundo plano. El siguiente mensaje se escribe como error estándar:
"[%corriente continua % s% s \ n ", <Número de trabajo>,corriente>, ,
donde los campos serán los siguientes:
<corriente> El personaje '+' identifica el trabajo que se utilizaría como predeterminado para
el fg or bg utilidades; este trabajo también se puede especificar utilizando el Identificación del trabajo
"% +" or "%%". El personaje '-' identifica el trabajo que se convertiría
el predeterminado si el trabajo predeterminado actual fuera a salir; este trabajo también puede
ser especificado usando el Identificación del trabajo "% -". Para otros trabajos, este campo es un
. A lo sumo, un trabajo puede identificarse con '+' y como mucho un trabajo
se puede identificar con '-'. Si hay algún trabajo suspendido, entonces el
el trabajo actual será un trabajo suspendido. Si hay al menos dos
trabajos suspendidos, entonces el trabajo anterior también será un trabajo suspendido.
<Número de trabajo>
Un número que se puede utilizar para identificar el grupo de procesos al esperar, fg,
bg y matar utilidades. Usando estas utilidades, el trabajo se puede identificar
prefijando el número de trabajo con '%'.
<estado> Sin especificar.
<nombre del trabajo> Sin especificar.
Cuando el shell notifica al usuario que se ha completado un trabajo, puede eliminar el
ID de proceso de la lista de los conocidos en el entorno de ejecución de shell actual;
ver Sección 2.9.3.1, Ejemplos. La notificación asincrónica no debe ser habilitada por
predeterminada.
−C (C mayúscula) Evite que los archivos existentes sean sobrescritos por el shell '>'
operador de redirección (ver Sección 2.7.2, Reorientar Salida); el "> |" redirección
El operador anulará este no clobber opción para un archivo individual.
−e Cuando esta opción está activada, cuando falla algún comando (por cualquiera de las razones enumeradas en
Sección 2.8.1, Consecuencias of Cáscara Errores o devolviendo un estado de salida mayor
que cero), el proyectil saldrá inmediatamente con las siguientes excepciones:
1. La falla de cualquier comando individual en una tubería de múltiples comandos no deberá
hacer que el shell salga. Solo la falla de la tubería en sí será
considerado.
2. los −e La configuración se ignorará al ejecutar la lista compuesta siguiendo el
mientras, hasta, if o elif palabra reservada, una tubería que comienza con el !
palabra reservada, o cualquier comando de una lista Y-O que no sea el último.
3. Si el estado de salida de un comando compuesto que no sea un comando de subshell era el
resultado de una falla mientras −e estaba siendo ignorado, entonces −e no se aplicará a este
mando.
Este requisito se aplica al entorno de shell y a cada entorno de subshell
por separado. Por ejemplo, en:
. -mi; (falso; echo uno) | gato; echo two
el false El comando hace que el subshell salga sin ejecutar echo uno; sin embargo,
echo two se ejecuta porque el estado de salida de la tubería (falso; echo uno) | gato
Es cero.
−f El shell desactivará la expansión del nombre de ruta.
−h Localizar y recordar las utilidades invocadas por las funciones a medida que se definen esas funciones.
(las utilidades normalmente se ubican cuando se ejecuta la función).
−metro Esta opción se admitirá si la implementación admite la portabilidad del usuario
Opción de utilidades. Todos los trabajos se ejecutarán en sus propios grupos de procesos. Inmediatamente
antes de que el shell emita un mensaje después de completar el trabajo en segundo plano, un mensaje
el informe del estado de salida del trabajo en segundo plano se escribirá como error estándar.
Si un trabajo en primer plano se detiene, el shell debe escribir un mensaje de error estándar a ese
efecto, formateado como se describe en el recibas nuevas vacantes en tu correo utilidad. Además, si cambia de trabajo
estado que no sea el de salida (por ejemplo, si se detiene para la entrada o salida o es
detenido por una señal SIGSTOP), el shell debe escribir un mensaje similar inmediatamente
antes de escribir el siguiente mensaje. Esta opción está habilitada de forma predeterminada para interactivos
conchas
−norte El shell leerá los comandos pero no los ejecutará; esto se puede usar para verificar
para errores de sintaxis del script de shell. Un shell interactivo puede ignorar esta opción.
−o Escriba la configuración actual de las opciones en la salida estándar en un formato no especificado.
formato.
+o Escriba la configuración de la opción actual en la salida estándar en un formato que sea adecuado
para reintroducirlos en el shell como comandos que logran la misma configuración de opciones.
−o opción
Esta opción es compatible si el sistema es compatible con las utilidades de portabilidad del usuario.
opción. Establecerá varias opciones, muchas de las cuales serán equivalentes a la
letras de opción única. Los siguientes valores de opción se apoyará:
exportar Equivalente a −un.
erresalir Equivalente a −e.
ignorante de Evite que un shell interactivo salga al final del archivo. Este escenario
evita desconexiones accidentales cuando Se ingresa ‐D. Un usuario debe
explícitamente salida para salir del shell interactivo.
monitorear Equivalente a −metro. Esta opción es compatible si el sistema admite la
Opción de utilidades de portabilidad de usuario.
no clobber Equivalente a −C (C mayúscula).
noglob Equivalente a −f.
noexec Equivalente a −norte.
nolog Impedir la entrada de definiciones de funciones en el historial de comandos; ver
Comando Historia Lista.
notificar Equivalente a −b.
sustantivo Equivalente a −tú.
verboso Equivalente a −v.
vi Permitir la edición de la línea de comandos de shell utilizando el vi editor. Habilitar vi
El modo deshabilitará cualquier otro modo de edición de línea de comando proporcionado como
extensión de implementación.
No es necesario que sea posible configurar vi modo activado para ciertos modos de bloque
terminales
xtrace Equivalente a −x.
−tú Cuando el shell intenta expandir un parámetro no establecido que no sea el '@' y '*' especial
parámetros, escribirá un mensaje de error estándar y no ejecutará el
comando que contiene la expansión, pero con el propósito de configurar el '?' especial
parámetro y el estado de salida del shell, el comando se tratará como si tuviera
ejecutado y devolvió un estado de salida de entre 1 y 125 inclusive. Un no
El shell interactivo saldrá inmediatamente. Un shell interactivo no saldrá.
−v El shell escribirá su entrada en error estándar a medida que se lee.
−x El shell escribirá en error estándar un seguimiento para cada comando después de que se expanda
el comando y antes de que lo ejecute. No se especifica si el comando que
desactiva el rastreo.
El valor predeterminado para todas estas opciones debe estar desactivado (desarmado) a menos que se indique lo contrario en el
descripción de la opción oa menos que se haya invocado el shell con ellos activados; ver sh.
Los argumentos restantes se asignarán en orden a los parámetros posicionales. los
parámetro especial '#' se establecerá para reflejar el número de parámetros posicionales. Todos
Los parámetros posicionales se desarmarán antes de que se asignen nuevos valores.
Si el primer argumento es '-', los resultados no están especificados.
El argumento especial "−−" inmediatamente después de . El nombre del comando se puede utilizar para
delimitar los argumentos si el primer argumento comienza con '+' or '-', o para prevenir
Listado inadvertido de todas las variables de shell cuando no hay argumentos. El comando . −−
sin argumento deberá desarmar todos los parámetros posicionales y establecer el parámetro especial '#'
a cero.
OPCIONES
Vea la DESCRIPCIÓN.
OPERANDOS
Vea la DESCRIPCIÓN.
ESTÁNDAR
No utilizado.
ENTRADA ARCHIVOS
Ninguno.
MEDIO AMBIENTE VARIABLES
Ninguno.
ASINCRÓNICO EVENTOS
Por defecto.
SALIDA ESTÁNDAR
Vea la DESCRIPCIÓN.
ESTDERR
El error estándar se utilizará solo para mensajes de diagnóstico.
SALIDA ARCHIVOS
Ninguno.
EXTENDIDO DESCRIPCIÓN
Ninguno.
SALIR ESTADO
Zero.
CONSECUENCIAS OF ERRORES
Por defecto.
La sección siguiendo (secciones) están informativo.
SOLICITUD USO
Los redactores de aplicaciones deben evitar depender de . −e dentro de las funciones. Por ejemplo, en el
siguiente guión:
. -e
comienzo() {
algún_servidor
echo algún_servidor fundó lograr
}
comienzo || echo > & 2 algún_servidor fracasado
el −e la configuración se ignora dentro del cuerpo de la función (porque la función es un comando en
una lista Y-O distinta a la última). Por tanto, si algún_servidor falla, la función lleva
en eco "algún_servidorfundóexitosamente", y el estado de salida de la función es cero
(lo que significa "algún_servidorfallado "no se emite).
EJEMPLOS
Escriba todas las variables y sus valores:
.
Establecer $ 1, $ 2 y $ 3 y configurar PS a 3:
. c a b
Enciende el −x y −v opciones:
. −xvi
Desarmar todos los parámetros posicionales:
. −−
Establezca $ 1 en el valor de x, incluso si comienza con '-' or '+':
. −− "$ x"
Establezca los parámetros posicionales para la expansión de x, incluso si x se expande con un líder '-'
or '+':
. −− $x
RAZÓN FUNDAMENTAL
La sección . La forma −− se enumera específicamente en la SINOPSIS aunque este uso está implícito
según las Pautas de sintaxis de la utilidad. La explicación de esta característica elimina cualquier ambigüedad
sobre si el . La forma −− podría malinterpretarse como equivalente a . sin
cualquier opción o argumento. La funcionalidad de este formulario ha sido adoptada de la
KornShell. En el sistema V, . −− solo desarma los parámetros si hay al menos un argumento;
la única forma de desarmar todos los parámetros es usar Turno. El uso de la versión de KornShell debería
no afectar a los scripts de System V porque no debería haber ninguna razón para emitirlo sin
argumentos deliberadamente; si se emitió como, por ejemplo:
. −− PS
y de hecho no hubo argumentos resultantes de PS, desarmar los parámetros
no tiene ningún resultado.
La sección . + se omitió la forma en las primeras propuestas por ser una duplicación innecesaria de .
solo y no una práctica histórica generalizada.
La sección no clobber se cambió la opción para permitir . −C así como la . −o no clobber .
Se agregó la versión de una sola letra para que el histórico "$ -" el paradigma no sería
roto; ver Sección 2.5.2, Especial Parámetros.
La descripción del −e La opción está destinada a coincidir con el comportamiento de la versión de 1988 de
el KornShell.
La sección −h El indicador está relacionado con el hash del nombre del comando. Ver hachís.
Las siguientes . Las banderas se omitieron intencionalmente con la siguiente justificación:
−k La sección −k La bandera fue agregada originalmente por el autor del shell Bourne para que sea más fácil
para usuarios de versiones preliminares del shell. En las primeras versiones del Bourne
shell la construcción . nombre =valor tenía que ser utilizado para asignar valores al shell
variables. El problema con −k es que el comportamiento afecta el análisis, virtualmente
excluyendo escribir compiladores. Para explicar el comportamiento de −k, es necesario para
describe el algoritmo de análisis, que está definido por la implementación. Por ejemplo:
. −k; echo nombre =valor
y:
. −k
echo nombre =valor
comportarse de manera diferente. La interacción con las funciones es aún más compleja. Que es
más, el −k La bandera nunca es necesaria, ya que la línea de comando podría haberse reordenado.
−t La sección −t flag es difícil de especificar y casi nunca se usa. El único uso conocido podría ser
hecho con aquí-documentos. Además, el comportamiento con ksh y sh difiere. los
La página de referencia dice que sale después de leer y ejecutar un comando. Que es
un comando? Si la entrada es datos;datos, sh ejecuta ambos datos comandos mientras ksh
hace solo el primero.
Se consideró la reescritura . para simplificar su confusa sintaxis. Especifico
sugerencia fue que el desarmado La utilidad debe usarse para desarmar opciones en lugar de usar la
no-conseguiroptar() -able +opción sintaxis. Sin embargo, se llegó a la conclusión de que el histórico
práctica de usar +opción fue satisfactoria y que no había ninguna razón de peso para
modificar una práctica histórica tan extendida.
La sección −o La opción se adoptó de KornShell para abordar las necesidades del usuario. Además de su
interfaz generalmente amigable, −o es necesario para proporcionar el vi modo de edición de línea de comando,
para lo cual la práctica histórica no arroja un nombre de opción de una sola letra. (Aunque podría haber
Ha sido posible inventar tal letra, se reconoció que otros modos de edición serían
desarrollado y −o proporciona un amplio espacio de nombres para describir dichas extensiones).
Las implementaciones históricas son inconsistentes en el formato utilizado para −o estado de la opción
informes. los +o Se agregó formato sin un argumento de opción para permitir el acceso portátil a
las opciones que se pueden guardar y luego restaurar utilizando, por ejemplo, un script de puntos.
Históricamente, los sh rastreó el comando . +x, pero ksh No lo hicieron.
La sección ignorante de La configuración evita los cierres de sesión accidentales cuando el carácter de fin de archivo
(típicamente ‐D) se ingresa. Un usuario explícitamente salida dejar el interactivo
cáscara.
La sección . −metro Se agregó la opción para que se aplique solo a la UPE porque se aplica principalmente a
uso interactivo, no aplicaciones de script de shell.
La capacidad de realizar notificaciones asincrónicas estuvo disponible en la versión de 1988 de la
KornShell. Para que ocurriera, el usuario tenía que emitir el comando:
trampa "trabajos −n " CLD
El shell C proporciona dos niveles diferentes de capacidad de notificación asincrónica. los
Variable ambiental notificar es análogo a lo que se hace en . −b or . −o notificar. Cuando el
establecido, notifica al usuario inmediatamente de la finalización de trabajos en segundo plano. Cuando está desarmado, este
la capacidad está desactivada.
La otra capacidad de notificación proviene de la utilidad incorporada notificar. La sintaxis es:
notificar [%trabajo ... ]
Emitiendo notificar sin operandos, hace que el shell C notifique al usuario
de forma asincrónica cuando cambia el estado del trabajo actual. Si se dan operandos, notificar
informa de forma asincrónica al usuario de los cambios en los estados de los trabajos especificados.
Para agregar notificaciones asincrónicas al shell POSIX, ni las extensiones KornShell para
trampa, ni el shell C notificar la variable de entorno parecía apropiada (notificar no es un
nombre de variable de entorno POSIX adecuado).
La sección . −b La opción fue seleccionada como un compromiso.
La sección notificar incorporado se consideró que tenía más funcionalidad de la necesaria para simples
notificación asincrónica.
Históricamente, algunos proyectiles aplicaban −tú opción a todos los parámetros incluyendo $@ y $*.
Los desarrolladores estándar consideraron que se trataba de un error, ya que es normal y común para
$@ y $* para ser utilizado en scripts de shell independientemente de si se pasaron o no
argumentos. Tratar estos usos como un error cuando no se pasan argumentos reduce el valor
of −tú para su propósito previsto de encontrar errores ortográficos en nombres de variables y usos de
parámetros posicionales desarmados.
FUTURO INSTRUCCIONES
Ninguno.
Use setposix en línea usando los servicios de onworks.net