Articulo de referencia

Comparación de intérpretes de comandos

Captura de pantalla de una terminal que muestra varios comandos de Bash y la salida resultante. Este artículo cataloga aspectos comparables de shells de sistemas operativos nota...

Captura de pantalla de una terminal que muestra varios comandos de Bash y la salida resultante.

Este artículo cataloga aspectos comparables de shells de sistemas operativos notables .

Características generales

Funciones interactivas

Ejecución en segundo plano

La ejecución en segundo plano permite que un intérprete de comandos ejecute un comando sin interacción del usuario en la terminal, liberando así la línea de comandos para otras tareas. Los intérpretes de comandos POSIX y otros intérpretes de comandos Unix permiten la ejecución en segundo plano mediante el uso del carácter & al final del comando.

Finalizaciones

Autocompletado de línea de comandos en Bash .

Las funciones de autocompletado ayudan al usuario a escribir comandos en la línea de comandos, buscando y sugiriendo palabras coincidentes para los comandos incompletos. Generalmente, se solicita el autocompletado pulsando la tecla de autocompletado (a menudo la Tab ↹tecla ).

El autocompletado de nombres de comandos consiste en completar el nombre de un comando. En la mayoría de los intérpretes de comandos, un comando puede ser un programa en la ruta de comandos (normalmente $PATH), un comando integrado, una función o un alias.

La compleción de rutas consiste en completar la ruta a un archivo, ya sea relativa o absoluta.

La función de autocompletado con comodines es una generalización del autocompletado de rutas, donde una expresión coincide con cualquier número de archivos, utilizando cualquier sintaxis compatible para la coincidencia de archivos .

La función de autocompletado de variables completa el nombre de una variable ( ya sea de entorno o de shell). Bash, zsh y fish ofrecen esta función para todos los nombres de variables. PowerShell también la ofrece para los nombres de variables de entorno, variables de shell y, dentro de las funciones definidas por el usuario, para los nombres de parámetros.

La autocompletación de argumentos de comando consiste en completar los argumentos de un comando específico. Existen dos tipos de argumentos: con nombre y posicionales. Los argumentos con nombre, a menudo llamados opciones , se identifican por su nombre o letra que precede a un valor, mientras que los argumentos posicionales consisten únicamente en el valor. Algunos intérpretes de comandos permiten completar los nombres de los argumentos, pero pocos admiten la finalización de los valores.

Bash, zsh y fish ofrecen autocompletado de nombres de parámetros mediante una definición externa al comando, distribuida en un archivo de definición de autocompletado independiente. Para el autocompletado de nombres/valores de parámetros de comandos, estos shells asumen el autocompletado de rutas/nombres de archivo si no se ha definido ningún autocompletado para el comando. El autocompletado se puede configurar para sugerir autocompletados dinámicamente llamando a una función del shell. [ 45 ] El shell fish también admite el análisis de páginas man para extraer información de parámetros que se puede utilizar para mejorar el autocompletado/las sugerencias. En PowerShell, todos los tipos de comandos (cmdlets, funciones, archivos de script) exponen inherentemente datos sobre los nombres, tipos y rangos/listas de valores válidos para cada argumento. PowerShell utiliza estos metadatos para admitir automáticamente el autocompletado de nombres y valores de argumentos para comandos/funciones integrados, comandos/funciones definidos por el usuario, así como para archivos de script. Los cmdlets individuales también pueden definir el autocompletado dinámico de valores de argumentos donde los valores de autocompletado se calculan dinámicamente en el sistema en ejecución.

Historial de comandos

Los usuarios de una consola pueden encontrarse escribiendo algo similar a lo que han escrito anteriormente. La compatibilidad con el historial de comandos permite al usuario recuperar un comando anterior en el editor de línea de comandos y editarlo antes de ejecutar el comando potencialmente modificado.

Los intérpretes de comandos que admiten la función de autocompletado también pueden completar directamente el comando a partir del historial de comandos, a partir de una parte parcial o inicial del comando anterior.

La mayoría de los intérpretes de comandos modernos admiten el historial de comandos. Los intérpretes que lo admiten también permiten completar comandos a partir del historial, en lugar de simplemente recuperarlos. Además del texto del comando, PowerShell registra la hora de inicio y finalización de la ejecución, así como su estado, en el historial.

Indicación de argumento obligatorio

Los argumentos/parámetros obligatorios son aquellos a los que se debe asignar un valor al ejecutar un comando, función o script. Un intérprete de comandos que pueda detectar de antemano la falta de valores obligatorios puede ayudar al usuario interactivo solicitándole dichos valores en lugar de permitir que el comando falle. Al permitir que el intérprete de comandos solicite los valores faltantes, el autor de un script, comando o función podrá marcar un parámetro como obligatorio en lugar de crear código que solicite los valores faltantes (tras determinar que se está ejecutando de forma interactiva) o que muestre un mensaje de error.

Sugerencias automáticas

Autocompletado de línea de comandos en PowerShell .

Los intérpretes de comandos con sugerencias automáticas muestran opciones para completar la línea de comandos mientras el usuario escribe. Los intérpretes PowerShell y fish admiten esta función de forma nativa; al pulsar la tecla, se inserta la sugerencia.Tab ↹

Las implementaciones de esta función pueden diferir entre shells; por ejemplo, PowerShell [ 46 ] y zsh [ 47 ] utilizan un módulo externo para proporcionar autocompletado, y fish deriva su autocompletado del historial de comandos del usuario. [ 48 ]

Historial de directorio, pila o características similares

Los intérpretes de comandos pueden registrar un historial de los directorios que el usuario ha visitado y permitir el cambio rápido a cualquier ubicación registrada. Esto se conoce como "pila de directorios". El concepto se implementó ya en 1978 [ 49 ] con el lanzamiento del intérprete de comandos C (csh).

Los intérpretes de línea de comandos 4DOS y su sucesor gráfico Take Command Console también incluyen una pila de directorios.

Cambio de directorio implícito

Se puede usar directamente el nombre de un directorio como comando, lo que cambia implícitamente la ubicación actual a ese directorio.

Esto debe distinguirse de una característica de unidad de carga no relacionada compatible con Concurrent DOS , Multiuser DOS , System Manager y REAL/32 , donde la letra de unidad L: se actualizará implícitamente para apuntar a la ruta de carga de una aplicación cargada, lo que permite a las aplicaciones referirse a archivos que residen en su directorio de carga bajo una letra de unidad estandarizada en lugar de bajo una ruta absoluta. [ 50 ]

Autocorrección

Demostración de autocompletado y autocorrección de Zsh para un programa telnet .

Cuando una línea de comandos no coincide directamente con un comando o argumentos, el corrector ortográfico puede corregir automáticamente errores comunes de escritura (como la distinción entre mayúsculas y minúsculas o la falta de letras). Existen dos enfoques para esto: el intérprete de comandos puede sugerir posibles correcciones al ejecutar el comando, o bien, esto puede ocurrir antes como parte de la función de autocompletado o sugerencias automáticas.

Los intérpretes de comandos tcsh y zsh ofrecen la opción de corrección ortográfica al invocar un comando.

Fish realiza la autocorrección al completar el comando y ofrece sugerencias automáticas. Por lo tanto, esta función no interfiere al escribir el comando completo y presionar Enter, mientras que el uso extensivo de las teclas Tab y la flecha derecha hace que la consola prácticamente no distinga entre mayúsculas y minúsculas.

El módulo de PowerShell PSReadLine [ 33 ] (incluido en la versión 5.0) ofrece la opción de especificar un ScriptBlock CommandValidationHandler que se ejecuta antes de enviar el comando. Esto permite corregir de forma personalizada los comandos que suelen escribirse incorrectamente y verificarlos antes de ejecutarlos.

Indicador de progreso

Un script de shell (o tarea) puede informar al usuario interactivo sobre el progreso de tareas de larga duración.

Los sistemas Unix/Linux pueden ofrecer soporte para otras herramientas que utilizan indicadores de progreso de scripts o como comandos independientes, como el programa "pv". [ 51 ] Sin embargo, estas no son características integradas de los shells.

Listados de directorio a color

Los procesadores de línea de comandos de JP Software permiten configurar el color de los nombres de archivos y directorios en los listados de directorios en función de su extensión y/o atributos mediante una %COLORDIR%variable de entorno definida opcionalmente.

En el caso de los intérpretes de comandos Unix/Linux, esta es una característica del comando ls y de la terminal.

Resaltado de texto

Los procesadores de línea de comandos en DOS Plus , Multiuser DOS , REAL/32 y en todas las versiones de DR-DOS admiten una serie de variables de entorno opcionales para definir secuencias de escape que permiten controlar el resaltado, la inversión o la coloración del texto para fines de visualización o impresión en comandos como TYPE . Todos los procesadores de línea de comandos mencionados admiten y . Si se definen, estas secuencias se emitirán antes y después de los nombres de archivo. Una secuencia típica para sería en conjunto con ANSI.SYS , para una terminal ASCII o para una impresora IBM o ESC/P . Del mismo modo, las secuencias típicas para serían , , , respectivamente. Las variables y solo son compatibles con COMMAND.COM en DR-DOS 7.02 y superior para definir secuencias emitidas antes y después de bloques de texto para controlar el resaltado de texto, la paginación u otras opciones de formato.%$ON%%$OFF%%$ON%\033[1m\033p\016%$OFF%\033[0m\033q\024%$HEADER%%$FOOTER%

En el caso de los intérpretes de comandos de Unix/Linux, esta es una característica de la terminal.

Resaltado de sintaxis

Una característica distintiva del intérprete de comandos fish es el resaltado de sintaxis integrado. A medida que el usuario escribe, el texto se colorea para indicar si la entrada es un comando válido o no (el ejecutable existe y el usuario tiene permisos para ejecutarlo), y las rutas de archivo válidas se subrayan. [ 52 ]

Un proyecto independiente ofrece resaltado de sintaxis como complemento para el intérprete de comandos Z (zsh). [ 53 ] Sin embargo, esto no forma parte del intérprete de comandos.

PowerShell proporciona resaltado de sintaxis personalizable en la línea de comandos mediante el módulo PSReadLine [ 33 ] . Este módulo se puede usar con PowerShell v3.0 y versiones posteriores, y viene incluido a partir de la versión 5.0. Se carga de forma predeterminada en el host de la línea de comandos "powershell.exe" desde la versión 5.0. [ 54 ]

Take Command Console (TCC) ofrece resaltado de sintaxis en el entorno integrado.

Ayuda sensible al contexto

4DOS, 4OS2, 4NT / La consola de comandos y PowerShell (en PowerShell ISE) buscan información de ayuda contextual cuando se pulsa.F1

Zsh proporciona varias formas de ayuda contextual configurable como parte de su widget run-help , el comando _complete_help o en el autocompletado de opciones para algunos comandos.

La interfaz de usuario proporciona descripciones breves de las opciones de un comando durante la función de autocompletado con la tecla Tab.

Características de programación

Procesamiento de cadenas y coincidencia de nombres de archivo

Comunicación entre procesos

Apilamiento de pulsaciones de teclas

Anticipándose a lo que una aplicación en ejecución pueda aceptar como entrada de teclado, el usuario del intérprete de comandos le indica que genere una secuencia de pulsaciones de teclas simuladas , que la aplicación interpretará como entrada de teclado de un usuario interactivo. Al enviar secuencias de pulsaciones de teclas, el usuario puede dirigir a la aplicación para que realice acciones que serían imposibles de lograr mediante la redirección de entrada o que, de otro modo, requerirían la interacción del usuario. Por ejemplo, si una aplicación actúa sobre pulsaciones de teclas que no se pueden redirigir, distingue entre teclas normales y extendidas, vacía la cola antes de aceptar nueva entrada al iniciar o bajo ciertas condiciones, o porque no lee la entrada estándar en absoluto. El apilamiento de pulsaciones de teclas también proporciona medios para controlar el momento en que se envían las teclas simuladas o para retrasar nuevas teclas hasta que se haya vaciado la cola, etc. También permite simular teclas que no están presentes en un teclado (porque las teclas correspondientes no existen físicamente o porque se está utilizando una distribución de teclado diferente) y, por lo tanto, serían imposibles de escribir por un usuario.

Características de seguridad

Solicitud segura

Algunos scripts de shell necesitan solicitar al usuario información confidencial, como contraseñas , claves digitales privadas, códigos PIN u otra información confidencial. La información confidencial no debe mostrarse en la pantalla o dispositivo de entrada, ya que podría ser interceptada por personas no autorizadas. También debe evitarse la representación en memoria de texto plano de la información confidencial, ya que podría permitir que la información se vea comprometida, por ejemplo, mediante archivos de intercambio, volcados de memoria, etc. [ 69 ]

Los shells bash, zsh y PowerShell ofrecen esto como una característica específica. [ 70 ] [ 71 ] Los shells que no ofrecen esto como una característica específica aún pueden desactivar el eco a través de algún otro medio. Los shells que se ejecutan en un sistema operativo Unix/Linux pueden usar el comando externo stty para desactivar/activar el eco de los caracteres de entrada. [ 72 ] Además de no devolver los caracteres, la opción de PowerShell también cifra la entrada carácter por carácter durante el proceso de entrada, asegurando que la cadena nunca se represente sin cifrar en la memoria donde podría verse comprometida a través de volcados de memoria, escaneo, transcripción, etc.-AsSecureString

Permiso de ejecución

Algunos sistemas operativos definen un permiso de ejecución que se puede otorgar a usuarios o grupos para un archivo cuando el propio sistema de archivos lo admite.

En los sistemas Unix, el permiso de ejecución controla el acceso para invocar un archivo como programa y se aplica tanto a ejecutables como a scripts. Dado que el permiso se aplica en el cargador de programas , ni el programa que invoca ni el programa invocado tienen la obligación de aplicar el permiso de ejecución ; esto también se aplica a los intérpretes de comandos y otros programas intérpretes. Este comportamiento viene determinado por la biblioteca POSIX C que se utiliza para la interfaz con el núcleo. POSIX especifica que la familia de funciones debe fallar con EACCESS (permiso denegado) si el archivo deniega el permiso de ejecución (véase System Interfaces Reference, The Single UNIX Specification , versión 5 de The Open Group ). execexecve  

El permiso de ejecución solo se aplica cuando el script se ejecuta directamente. Si un script se invoca como argumento del intérprete de comandos, se ejecutará independientemente de si el usuario tiene o no permiso de ejecución para ese script.

Aunque Windows también especifica un permiso de ejecución , ninguno de los shells específicos de Windows bloquea la ejecución de scripts si no se ha concedido dicho permiso.

subconjunto de capa restringida

Se pueden iniciar varias sesiones de shell o configurarlas para que se inicien en un modo donde el usuario solo tiene acceso a un conjunto limitado de comandos y acciones. Si bien esto no constituye una barrera de seguridad (se bloquea el comando que accede a un recurso, no el recurso en sí), esta práctica se suele utilizar para restringir las acciones de los usuarios antes de iniciar sesión.

Se evaluó un modo restringido para la especificación POSIX de shells, pero no se incluyó. [ 73 ] Sin embargo, la mayoría de los shells de Linux/Unix admiten un modo en el que se deshabilitan varios comandos integrados y solo se pueden invocar comandos externos de un directorio determinado.

PowerShell admite modos restringidos mediante archivos de configuración de sesión o configuraciones de sesión. Un archivo de configuración de sesión puede definir cmdlets visibles (disponibles), alias, funciones, proveedores de rutas y más. [ 74 ]

subconjunto de datos seguros

Los scripts que invocan a otros scripts pueden representar un riesgo de seguridad, ya que potencialmente pueden ejecutar código ajeno en el contexto del usuario que inició el script original. Por lo general, los scripts se diseñan para incluir exclusivamente scripts de ubicaciones seguras conocidas; sin embargo, en algunos casos, por ejemplo, al ofrecer al usuario una forma de configurar el entorno o cargar mensajes localizados, el script puede necesitar incluir otros scripts o archivos. [ 75 ] Una forma de abordar este riesgo es que el intérprete de comandos ofrezca un subconjunto seguro de comandos que puedan ser ejecutados por un script incluido.

Notas

  1. Desde mediados de los años 90.
  2. si se compila con -DACCT.
  3. Componente de MS-DOS y Windows: cubierto por una licencia válida para MS-DOS o Microsoft Windows.
  4. Componente de OS/2: cubierto por una licencia válida para OS/2.
  5. Extensiones de comandos habilitadas, o "CMD /X".
  6. Componente de Windows: cubierto por una licencia válida para Microsoft Windows.
  7. Microsoft PowerShell viene instalado de forma predeterminada en Windows 7 y versiones posteriores. Para los usuarios de Windows Vista o Windows XP, su descarga es opcional.
  8. 1 2 3 versiones actuales de Jörg Schilling.
  9. Alt-Shift-8 o Alt-* expandirá a la lista completa de nombres de archivo coincidentes.
  10. Disponible a través delcomplemento DOSKEY .
  11. Disponible en DR-DOS a través del HISTORIAL .
  12. También disponible alternativamente a través delcomplemento DOSKEY .
  13. Tambiéndisponible alternativamente en DR-DOS a través del HISTORIAL .
  14. TCC tiene funciones de aviso especiales para Sí, No, Cancelar, Cerrar, Reintentar.
  15. 123Handled by rio, GNU readline, editline or vrl.
  16. The fish shell is an interactive character based input/output surface.
  17. Not available as a shell built-in. External FINDSTR /R command is available in most Windows releases.
  18. PowerShell leverages the full .NET regular expression engine which features named captures, zero-width lookahead/-behind, greedy/non-greedy, character classes, level counting etc.
  19. 1234567891011xautomation and xdotool can be used to generate keystrokes under X Window System; or a program can be run in a pseudoterminal to be able to control it (as with the expect tool).
  20. 123456789The shell can use the stty utility to suppress echoing of typed characters to the screen. This requires multiple steps: 1. reading the current echo state, 2. switching echo off, 3. reading the input, 4. switching echo state back to the original state.
  21. 123456789101112The execute permission is enforced by a separate program, the program loader, by refusing to invoke the interpreter (possibly a shell) specified by the script's hashbang. The interpreter does not enforce the execute permission if invoked directly as the program loader would, with the file as an argument; this only requires read permission, as does piping the file as input to the interpreter, in which case the interpreter cannot see the execute permission.
  22. 12The zsh and fish shells also honor the execute permission for command completion.
  23. 12Under DR-DOS the password separator for file and directory passwords is a semicolon. This is also supported under 4DOS for as long as the command does not support include lists. Under 4DOS, the password separator must be doubled for all commands supporting include lists in order to distinguish passwords from include lists. Commands not supporting include lists accept both forms. DR-DOS 7.02 and higher optionally accept a doubled semicolon as well, so that doubled semicolons work under both COMMAND.COM and 4DOS regardless of the command executed.
  24. 1 2 DR-DOS admite contraseñas de archivo para permisos de lectura/escritura/eliminación y, opcionalmente, de ejecución. Los archivos no están protegidos por defecto, pero el sistema se puede configurar para que algunos scripts por lotes requieran una contraseña para leerlos.
  25. 1 2INPUT /P yINKEY /Pdevuelve asteriscos por cada carácter escrito.
  26. Read-Host -AsSecureString lee una cadena de caracteres del dispositivo de entrada y la convierte en una cadena cifrada, carácter por carácter, asegurando así que no haya ninguna imagen en memoria del texto sin cifrar que pueda obtenerse escaneando la memoria, o a partir de volcados de memoria, volcados de memoria, archivos de paginación, archivos de registro o similares.
  27. Los archivos de script de PowerShell ( .ps1 ) se asocian de forma predeterminada con el editor Bloc de notas, no con el motor de ejecución de PowerShell. Al abrir un archivo .ps1 , se iniciará el Bloc de notas en lugar de ejecutar el script.
  28. Los scripts de inicio por ordenador/usuario pueden importar módulos y exponer un subconjunto de los comandos/funciones disponibles en los módulos.

Referencias

  1. Geoff Collyer ofreceuna versión independiente de la plataforma basada en el código fuente original histórico de UNIX V7.
  2. La versión histórica UNIX V7 está disponible bajo una licencia de estilo BSD. Archivada el 6 de agosto de 2011 en Wayback Machine a través de The Unix Heritage Society y otros.
  3. Jörg Schilling ofreceuna versión independiente de la plataforma basada en el código fuente de SVr4/Solaris.
  4. Ferrell, John, "Capítulo 2. Shell predeterminado" , Guía de inicio rápido de FreeBSD para usuarios de Linux , Proyecto de documentación de FreeBSD , consultado el 24 de julio de 2015.
  5. "SchilliX-ON / SchilliX-ON Mercurial / [ b1d9a2 ] /usr/src/cmd/sh" . Sourceforge.net . Consultado el 2 de julio de 2015 .
  6. IEEE y The Open Group (2008). Norma IEEE 1003.1 para tecnología de la información: interfaz de sistema operativo portátil (POSIX): shell y utilidades, número 7 .
  7. Como parte de IEEE Std.1003.2-1992 (POSIX.2); integrado en IEEE Std.1003.1 con la revisión de 2001.
  8. Fox, Brian (1989-06-07). Tower Jr., Leonard H. (ed.). "¡Bash está en versión beta!" . Grupo de noticias : gnu.announce . Usenet: 8906080235.AA01983@wheat-chex.ai.mit.edu . Recuperado el 28-10-2010 .  
  9. Cooper, Mendel, "Capítulo 37.3.2. Bash, versión 4.2" , Guía avanzada de scripting de Bash , The Linux Documentation Project , consultado el 30 de abril de 2015."Bash ahora admite las secuencias de escape Unicode \u y \U."
  10. Greer, Ken (1983-10-03). "C shell con reconocimiento/completado de comandos y nombres de archivo" . Grupo de noticias : net.sources . Recuperado el 29 de diciembre de 2010 . 
  11. "Guía de inicio rápido de FreeBSD para usuarios de Linux®" . Portal de documentación de FreeBSD . Consultado el 4 de febrero de 2024 .
  12. Sussman, Ann (1988-12-26). "Hamilton C Shell acelera el desarrollo de aplicaciones OS/2" (PDF) . PC Week (1988-12-26 - 1989-01-02): 37. Recuperado el 22-11-2010 .
  13. Gomes, Ron (1983-06-09). "Programa de la Conferencia USENIX de Toronto (tentativo)" . Grupo de noticias : net.usenix . Recuperado el 29 de diciembre de 2010 . 
  14. Harris, Guy (1983-10-10). "csh question" . Grupo de noticias : net.flame . Recuperado el 29 de diciembre de 2010 . 
  15. 1 2 ksh93(1) página de manual
  16. 1 2 El intérprete de comandos predeterminado en OpenBSD es ksh (pdksh).
  17. "GhostBSD 26.1-R15.0p2 ya está disponible" . Noticias de GhostBSD . Consultado el 19 de abril de 2026 .
  18. El editor de línea de comandos zsh es totalmente configurable y puede permitir el soporte del ratón de varias maneras, como con mouse.zsh de Stéphane Chazelas .
  19. Página de manual y subpáginas de zsh(1)
  20. Página man de zshbuiltins(1)
  21. Lefevre, Vincent (11 de febrero de 2015). "Descriptores de archivos de varios dígitos" . zsh-users (Lista de correo) . Consultado el 23 de diciembre de 2021 .
  22. "#782228 - busybox sh no admite caracteres multibyte en el manejo de cadenas - Registros de informes de errores de Debian" . Bugs.debian.org. 2015-04-09 . Consultado el 2015-07-02 .
  23. "Diccionario DCL de HP OpenVMS" . Archivado del original el 25 de marzo de 2007. Consultado el 23 de marzo de 2009 .
  24. Kenah, Lawrence J. (1984). VAX/VMS Internals and Data Structures . Digital Press. ISBN 978-3-528-02410-9.
  25. Larabel, Michael (23 de marzo de 2021). "Se transfieren los derechos de autor del Plan 9 a la Fundación y se publica el código con licencia MIT" . Phoronix . Consultado el 28 de marzo de 2021 .
  26. Liljencrantz, Axel (17 de mayo de 2005). "Fish - The friendly interactive shell" . Recuperado el 8 de abril de 2013 .
  27. Soller, Jeremy (15-11-2015). "d79c8f511573fb7710abc63b4236a40022914520" . Recuperado el 3-08-2019 .
  28. " [ Z Shell ] Sistema de autocompletado" . Zsh.sourceforge.io . Consultado el 24 de febrero de 2015 .
  29. Esto se aplica únicamente a las palabras reservadas y otras características sintácticas.
  30. p. ej., a través de un tercero como zsh-autosuggestions
  31. zsh no incluye resaltado de sintaxis, pero existe un proyecto de terceros que ofrece esta funcionalidad como complemento: zsh-syntax-highlighting
  32. Paul, Matthias R. (1997-10-02) [1997-09-29]. "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM - README.TXT y BOOT.TXT - Una breve descripción de cómo se inicia OpenDOS" . Archivado del original el 4 de octubre de 2003. Recuperado el 29 de marzo de 2009 .
  33. 1 2 3 4 5 Shirk, Jason (2018-02-15). "PSReadLine: Una implementación de readline inspirada en bash para PowerShell" vía GitHub.
  34. "Windows PowerShell 5.0" . Archivado del original el 17 de septiembre de 2016. Consultado el 8 de septiembre de 2016 .
  35. 1 2 3 4 5 "Entorno de scripting integrado de Windows PowerShell (ISE)" . Microsoft Technet . Consultado el 12 de septiembre de 2015 .
  36. "Get-ChildItemColor" . GitHub . 18 de marzo de 2022.
  37. sdwheeler. "Write-Host (Microsoft.PowerShell.Utility) - PowerShell" . docs.microsoft.com . Consultado el 18 de enero de 2022 .
  38. Push-Location (con aliaspushd) y Pop-Location (con aliaspopd) permitenagregar y eliminar varios tipos de ubicaciones (directorios de sistemas de archivos, unidades organizativas de Active Directory , nodos del Registro de Windows , etc.) de pilas de ubicaciones.
  39. La función $host.ui.PromptForChoice permite mostrar un menú de opciones. Este menú funciona tanto en procesos en segundo plano como en sesiones remotas, y se muestra en la consola de la sesión de control.
  40. El cmdlet Write-Progress muestra una barra de progreso que puede indicar el porcentaje, los segundos restantes, etc. Los mensajes de la barra de progreso funcionan desde trabajos en segundo plano o sesiones remotas, además de los scripts interactivos; es decir, la barra de progreso se muestra en la consola de la sesión de control, no como parte de la salida habitual.
  41. El cmdlet Show-Command inspecciona la definición del comando y abre una ventana interactiva con un campo de entrada con nombre para cada parámetro/interruptor.
  42. 1 2 "pez: Documentación" . Sección Completar pestaña . Recuperado el 10-01-2016 .
  43. "set_color - establece el color de la terminal — documentación de fish-shell 3.1.2" . fishshell.com . Archivado del original el 17 de febrero de 2020. Consultado el 23 de febrero de 2021 .
  44. "abbr - gestionar abreviaturas de peces — documentación de fish-shell 3.1.2" . fishshell.com . Consultado el 23 de febrero de 2021 .
  45. "zsh: 20. Sistema de autocompletado" . Zsh.sourceforge.io. 2013-03-06 . Consultado el 2013-08-18 .
  46. sdwheeler. "Novedades de PowerShell 5.0 ISE - PowerShell" . docs.microsoft.com . Consultado el 25 de julio de 2021 .
  47. "GitHub - marlonrichert/zsh-autocomplete: 🤖 Autocompletado predictivo en tiempo real para Zsh. Autocompletado asíncrono de búsqueda a medida que escribes" . GitHub . Consultado el 25 de julio de 2021 .
  48. "Uso interactivo — documentación de fish-shell 3.3.1" . fishshell.com . Consultado el 25 de julio de 2021 .
  49. Hahn, Harley (2009). Guía de Harley Hahn para Unix y Linux . Boston: McGraw-Hill Higher Education. ISBN 978-0-07-313361-4OCLC 184828059 
  50. Concurrent DOS 386 - Sistema operativo multiusuario/multitarea - Guía del usuario (PDF) . Investigación digital .
  51. "pv(1): monitorizar el progreso de los datos a través de la tubería - página man de Linux" . Linux.die.net . Consultado el 24 de febrero de 2015 .
  52. "pez: Tutorial" . fishshell.com . Consultado el 21 de octubre de 2022 .
  53. "zsh-users/zsh-syntax-highlighting: Resaltado de sintaxis similar al de Fish shell para Zsh" . GitHub . Consultado el 18 de agosto de 2013 .
  54. sdwheeler. "Módulo PSReadLine - PowerShell" . learn.microsoft.com . Consultado el 26 de abril de 2023 .
  55. "Variantes de ceniza" . Archivado del original el 10 de marzo de 2010. Consultado el 15 de diciembre de 2014 .
  56. "Establecer - Variable de entorno - Windows CMD" . SS64.com . Consultado el 24 de febrero de 2015 .
  57. "¿Cómo iterar sobre un array en modo por lotes?" . Stack Overflow . Consultado el 24/02/2015 .
  58. La clase System.Math de .NET define funciones matemáticas que se pueden usar a través del acceso directo [Math] , por ejemplo, [Math]::Sin para lafunción seno .
  59. "Obtener cierre con GetNewClosure" . devblogs.microsoft.com . 27 de marzo de 2009. Consultado el 12 de septiembre de 2022 .
  60. "string - manipular cadenas — documentación de fish-shell 3.1.2" . fishshell.com . Consultado el 23 de febrero de 2021 .
  61. Referencia del lenguaje de shell C de Hamilton: comodines y coincidencia de patrones , Hamilton Laboratories , consultado el 29/10/2013 , ... Directorio indefinido: coincide con cualquier número de niveles de directorio, cero o más, lo que sea necesario para que el resto del patrón coincida.
  62. 1 2 Seebach, Peter (21 de noviembre de 2008). Introducción a la programación de scripts de shell portátiles: De principiante a profesional . La voz del experto en código abierto. Apress (publicado en 2008). pág. 149. ISBN  9781430210436. Consultado el 17/09/2014 . La expansión de llaves está disponible en ksh93, pdksh, bash y zsh.
  63. Zsh ofrece una variedad de opciones de globbing .
  64. sdwheeler. "Acerca de los operadores - PowerShell" . docs.microsoft.com . Consultado el 18 de enero de 2022 .
  65. Brothers, Hardin; Rawson, Tom ; Conn, Rex C.; Paul, Matthias R.; Dye, Charles E.; Georgiev, Luchezar I. (27 de febrero de 2002). Ayuda en línea de 4DOS 8.00 .
  66. "Encontrar una manera de hacer que 'psub --fifo' sea seguro contra interbloqueos · Problema #1040 · fish-shell/fish-shell" . GitHub .
  67. "Manual de referencia de Bash: El intérprete de comandos restringido" . Gnu.org. 28 de diciembre de 2010. Consultado el 18 de agosto de 2013 .
  68. "Acerca de las secciones de datos" . Technet.microsoft.com . Consultado el 24 de febrero de 2015 .
  69. Provos, Niels. "Encriptación de memoria virtual" . Centro para la Integración de Tecnologías de la Información, Universidad de Michigan . Consultado el 20 de diciembre de 2012 .
  70. "bash - GNU Bourne-Again SHell" . read -s Modo silencioso. Si la entrada proviene de una terminal, los caracteres no se muestran.
  71. "Uso del cmdlet Read-Host" . Al agregar el parámetro -assecurestring, puede enmascarar los datos ingresados ​​en la solicitud.
  72. "Comando Linux/Unix: stty" . Linux.about.com. Archivado del original el 25/02/2015 . Consultado el 24/02/2015 .
  73. "man sh - shell, el intérprete del lenguaje de comandos estándar / posix" . Pwet.fr. Archivado del original el 21-12-2014 . Recuperado el 18-08-2013 .
  74. "New-PSSessionConfigurationFile" . Technet.microsoft.com . Consultado el 18 de agosto de 2013 .
  75. Albing, Carl; Vossen, JP; Newham, Cameron (2007). Bash cookbook (1.ª ed.). Sebastopol, California, EE. UU.: O'Reilly Media . ISBN  978-0-596-52678-8[ ...] no se parece en nada a una simple lista pasiva de variables configuradas. Puede ejecutar otros comandos (por ejemplo, `cat`) y usar sentencias `if` para modificar sus opciones. Incluso termina mostrando un mensaje. Ten cuidado al usar `source`, ya que abre la puerta a posibles problemas en tu script.
  • Nasarek, Marcus (mayo de 2007). "Artículo" (PDF) . Comparando Bash con el intérprete de comandos de Windows Vista: Juegos de shell . Linux Magazine . Archivado (PDF) del original el 10 de octubre de 2014.
  • "Shell and Utilities" . Norma IEEE para Tecnología de la Información 1003.1™-2024 – Interfaz de Sistema Operativo Portátil POSIX™.1-2024 — Especificaciones Base de The Open Group, Edición 8 (2024  ). IEEE y The Open Group. 8 de agosto de 2024.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Comparison_of_command_shells&oldid=1352798839#Integrated_environment "