Mandato ksh93
Finalidad
Invoca el shell Korn mejorado.
Sintaxis
ksh93 [+ |- a b c C e f h i k m n o p r s t u v x BDP ] [+-R archivo] [ +-o Opción ] [arg...].
+ (más) en lugar de - (menos) desactiva el distintivo.Descripción
El mandato ksh93 invoca el shell Korn mejorado, que es un intérprete de mandatos interactivo y un lenguaje de programación de mandatos. El shell lleva a cabo mandatos de forma interactiva desde un teclado de terminal o desde un archivo.
El shell Korn mejorado tiene características adicionales que no están disponibles en el shell Korn predeterminado.
Distintivos
| Elemento | Descripción |
|---|---|
| -B | Habilita la generación del campo de patrón de llave y la expansión del grupo de soporte. Se establece de forma predeterminada. |
| -d | No ejecuta el script, pero da como resultado el conjunto de cadenas de salida entre comillas dobles precedidas por $. Estas series son necesarias para la localización del script en diferentes idiomas. |
| -P | Si los perfiles -P o -o están presentes, el shell se denomina shell de perfil. |
| -a | Exporta automáticamente todos los parámetros siguientes que están definidos. |
| -b | Los mensajes de finalización de trabajo se imprimen tan pronto como un trabajo en segundo plano cambia de estado en lugar de esperar a la siguiente solicitud. |
| -c | Hace que los mandatos se lean desde el primer argumento. Los argumentos restantes se convierten en parámetros posicionales a partir de 0. |
| -C | Impide que los archivos existentes se trunquen cuando se utiliza la redirección > . La modalidad O_EXCL se utiliza para crear archivos. Requiere que >| trunque un archivo cuando se utiliza la opción -C . |
| -e | Si no está contenido en un mandato || o && , o después de un mandato si es o hasta , o en la interconexión que sigue a !, ejecuta la condición de excepción ERR , si se ha establecido, y sale si un mandato tiene un estado de salida distinto de cero. Esta modalidad está inhabilitada mientras se leen perfiles. |
| -f | Inhabilita la generación del nombre de archivo. |
| -h | Designa cada mandato como un seudónimo con seguimiento la
primera vez que se encuentra. Nota: La característica de alias rastreado ahora está obsoleta.
|
| -i | Indica que el shell es interactivo. También se indica un shell interactivo si la entrada y salida del shell están conectadas a un terminal (tal como determina la subrutina ioctl ). En este caso, la variable de entorno TERM se ignora (para que el mandato kill 0 no interrumpa un shell interactivo) y la señal INTR se captura e ignora (para que se pueda interrumpir un estado de espera). En todos los casos, el shell ignora la señal QUIT . |
| -k | (obsoleto) Coloca todos los argumentos de asignación de parámetros en el entorno para un mandato, no sólo los argumentos que preceden al nombre del mandato. |
| -m | Ejecuta trabajos en segundo plano en un proceso independiente e imprime una línea cuando se finaliza. Se informa del estado de salida de trabajos en segundo plano en un mensaje de finalización. En los sistemas que disponen de control de trabajos, este distintivo se activa automáticamente para los shells interactivos. |
| -n | Lee mandatos y comprueba si existen errores de sintaxis,
pero no los ejecuta. Este distintivo se ignora para shells
interactivos. Nota: ksh93 -n genera un mensaje de aviso para determinada sintaxis. Estos mensajes son avisos. Aunque estos avisos se emiten, la ejecución de los scripts no se modifica. Los siguientes son los mensajes de aviso conocidos:
|
| -o Opción | Imprime los valores de la opción actual y un mensaje de error si no especifica un argumento. Puede utilizar este distintivo para habilitar cualquiera de las opciones siguientes:
|
|
|
|
|
|
|
| -p | Inhabilita el proceso del archivo $HOME/.profile y utiliza el archivo /etc/suid_profile en lugar del archivo ENV . Esta modalidad está activada siempre que el uid efectivo (gid) no sea igual al uid real (gid). Desactivar esto hace que el uid y gid efectivo se establezca en el uid real y el gid. |
| -r | Ejecuta un shell restringido. Con un shell restringido no puede:
|
| Elemento | Descripción |
|---|---|
| -R Archivo | Se genera una base de datos de referencias cruzadas cuando se utiliza la opción -R Archivo . Se puede utilizar para buscar definiciones y referencias para variables y mandatos mediante un programa de utilidad independiente. |
| -s | Hace que el mandato ksh93 lea los mandatos de la entrada estándar. La salida de shell, excepto la salida de los mandatos especiales, se graba en el descriptor de archivo 2. Este parámetro no se puede utilizar con el distintivo -c o con el parámetro Archivo[Parámetro]. |
| -t | Sale después de leer y ejecutar un mandato. |
| -u | Cuando se sustituyan parámetros a los que se ha eliminado la definición, los interpreta como errores. |
| -v | Imprime las líneas de entrada del shell a medida que se leen. |
| -x | Imprime mandatos ejecutados y sus argumentos. |
Soporte de auditoría
Para habilitar la característica de auditoría en el shell Korn mejorado, realice los pasos siguientes:
- Para habilitar la característica de auditoría en el mandato ksh93u , el archivo /etc/ksh_audit debe tener un nombre de archivo de salida y un valor de identificación para el usuario. Por ejemplo,
/tmp/ksh_auditfile;205;0. - Puede configurar la característica de auditoría para generar un registro detallado para cada mandato ejecutable. Puede utilizar el registro para supervisar, realizar un seguimiento y auditar actividades para uno o más usuarios de un sistema, incluidos los administradores del sistema.
- Para habilitar la característica de auditoría en el mandato ksh93 , el archivo /etc/ksh_audit debe crearse y configurarse especificando la ubicación del archivo audit_log y un valor de identificación para el usuario. Puede separar los valores de identificación utilizando un punto y coma.
Por ejemplo, el texto /tmp/ksh_auditfile;0;100;205 en el archivo /etc/ksh_audit hace referencia a la ubicación del archivo de registro (/tmp/ksh_auditfile) y a los valores de identificación de usuario que son, 0 (root), 100y 205 respectivamente.
- Los usuarios en espera de auditoría deben tener permisos de Lectura y Escritura para los archivos de configuración y de registro.
- Cuando se activa la variable de entorno
EXTENDED_HISTORY, las entradas de auditoría tendrán una información de indicación de fecha y hora con caracteres no imprimibles al final de la entrada. De forma predeterminada, la variable de entornoEXTENDED_HISTORYestá activada. Sin embargo, puede activarlo manualmente ejecutando el mandato export EXTENDED_HISTORY=ON . Para inhabilitar la variable de entornoEXTENDED_HISTORY, puede ejecutar el mandato unset EXTENDED_HISTORY . - La variable de entorno
EXTENDED_HISTORYle permite ver un informe de seguimiento detallado para todos los mandatos que se ejecutan en el shell.
Estado de salida
| Elemento | Descripción |
|---|---|
| 0 | Finalización satisfactoria. |
| >0 | Se ha producido un error. |
Ubicación
/usr/bin/ksh93