Command-line shell (Español)

Esta traducción de Command-line shell fue revisada el 2022-11-01. Si existen cambios puede actualizarla o avisar al equipo de traducción.

De Wikipedia:

Un intérprete de línea de órdenes de Unix proporciona una interfaz de usuario tradicional para el sistema operativo Unix y para sistemas similares a Unix. Los usuarios dirigen el funcionamiento de la computadora introduciendo órdenes como texto para que un intérprete de línea de órdenes ejecute o creando scripts de texto de uno o más órdenes de este tipo.

Listado de intérpretes de línea de órdenes

Los intérpretes de línea de órdenes que son más o menos compatibles con POSIX se listan bajo #Compatibles POSIX, mientras que los intérpretes de línea de órdenes que tienen una sintaxis diferente están bajo #Intérpretes de línea de órdenes alternativos.

Compatibles POSIX

Todos estos intérpretes de línea de órdenes se pueden enlazar desde /usr/bin/sh. Cuando Bash, mkshAUR y zsh se invocan con el nombre sh, automáticamente se vuelven más compatibles con POSIX.

  • Bash Bash extiende el intérprete de línea de órdenes Bourne con el historial y el completado de la línea de órdenes, matrices indexadas y asociativas, aritmética de enteros, sustitución de procesos, cadenas de caracteres, coincidencia de expresiones regulares y expansión de llaves.
https://www.gnu.org/software/bash/ || bash
  • Dash Descendiente de la versión NetBSD del intérprete de línea de órdenes Almquist (ash). Un intérprete de línea de órdenes rápido y compatible con POSIX que pretende ser lo más pequeño posible.
http://gondor.apana.org.au/~herbert/dash/ || dash
    • Oil Shell (OSH) Oil Shell es un intérprete de línea de órdenes UNIX compatible con Bash. OSH se puede ejecutar en la mayoría de los sistemas operativos tipo UNIX, incluido GNU/Linux. Está escrito en Python (v2.7), pero viene con un ejecutable nativo. El dialecto de Bash reconocido por OSH se denomina lenguaje OSH.
    https://www.oilshell.org || oil

        Intérpretes de línea de órdenes alternativos

        • C shell (tcsh) El intérprete de lenguaje de órdenes se puede utilizar como intérprete de línea de órdenes de inicio de sesión interactivo y como procesador de órdenes de script de intérprete de línea de órdenes. Incluye un editor de línea de órdenes, completado programable de palabras, corrección ortográfica, un mecanismo de historial, control de trabajos y una sintaxis tipo C.
        https://www.tcsh.org || tcsh
                    • Powershell PowerShell es un lenguaje de programación orientado a objetos y un intérprete de línea de órdenes interactivo, originalmente escrito y exclusivo para Windows. Más tarde, fue de código abierto y portado a macOS y Linux.
                    https://github.com/PowerShell/PowerShell || powershellAUR

                        Cambiar su intérprete de línea de órdenes predeterminado

                        Después de instalar uno de los intérpretes de línea de órdenes anteriores, puede ejecutar ese intérprete de línea de órdenes dentro de su intérprete de línea de órdenes actual, simplemente ejecutándolo. Sin embargo, si quiere que le sirvan ese intérprete de línea de órdenes cuando inicie sesión, deberá cambiar su intérprete de línea de órdenes predeterminado.

                        Para listar todos los intérpretes de línea de órdenes instalados, ejecute:

                        $ chsh -l

                        Y para configurar uno como predeterminado para su usuario haga:

                        $ chsh -s ruta-completa-al-intérprete-de-línea-de-órdenes

                        Si está utilizando systemd-homed, ejecute:

                        $ homectl update --shell=ruta-completa-al-intérprete-de-línea-de-órdenes usuario

                        donde ruta-completa-al-intérprete-de-línea-de-órdenes es la ruta completa dada por .

                        Si ahora se desconecta y vuelve a iniciar sesión, será recibido por el otro intérprete de línea de órdenes.

                        Sugerencia: chsh utiliza /etc/shells como referencia. Si un intérprete de línea de órdenes instalado recientemente no está presente en la lista, se puede añadir manualmente a este archivo.

                        Desinstalar el intérprete

                        Cambie el intérprete predeterminado antes de eliminar el paquete del intérprete.

                        Alternativamente, modifique la base de datos de usuarios.

                        Utilícelo para cada usuario con zsh configurado como su intérprete de inicio de sesión (incluido el superusuario si fuera necesario). Cuando se complete, el paquete se puede eliminar.

                        Intérprete de línea de órdenes de inicio de sesión

                        Un intérprete de línea de órdenes de inicio de sesión es un modo de invocación, en el que el intérprete de línea de órdenes lee archivos destinados a una inicialización única, como de todo el sistema o el del usuario u otros archivos específicos del intérprete. Estos archivos configuran el entorno inicial, que es heredado por todos los demás procesos iniciados desde el intérprete (incluidos otros intérpretes que no son de inicio de sesión o programas gráficos). Por lo tanto, se leen solo una vez al comienzo de una sesión, que es, por ejemplo, cuando el usuario inicia sesión en la consola o mediante SSH, cambia el usuario con sudo o su utilizando el parámetro , o cuando el usuario invoca manualmente un intérprete de línea de órdenes de inicio de sesión (por ejemplo, mediante ).

                        Véase #Archivos de configuración y los enlaces que contiene para obtener una descripción general de los distintos archivos de inicialización. Para obtener más información sobre el intérprete de línea de órdenes de inicio de sesión, véase también ¿Diferencia entre el intérprete de línea de órdenes de inicio de sesión y el intérprete sin inicio de sesión? y ¿Por qué un intérprete de línea de órdenes de "inicio de sesión" sobre un intérprete de "no inicio de sesión"? en Stackexchange.

                        Archivos de configuración

                        Para iniciar automáticamente los programas en la consola o al iniciar sesión, puede usar los archivos/directorios de inicio del intérprete de línea de órdenes. Lea la documentación de su intérprete de línea de órdenes o su artículo de ArchWiki, por ejemplo Bash (Español)#Archivos de configuración o Zsh#Startup/Shutdown files.

                        Véase también Archivos de configuración para una comparación de varios archivos de configuración de varios intérpretes de línea de órdenes.

                        /etc/profile

                        Al iniciar sesión, todas las cargas (sources) en compatibles con el intérprete de línea de órdenes Bourne, que a su vez cargan los archivos legible en /etc/profile.d/: estos scripts no requieren una directiva de intérprete, ni necesitan ser ejecutables. Se utilizan para configurar un entorno y definir configuraciones específicas de la aplicación.

                        Estandarización

                        Es posible hacer que (algunos) archivos de configuración de los intérpretes de línea de órdenes sigan la misma convención de nomenclatura, así como admitir alguna configuración común entre los intérpretes de línea de órdenes.

                        Véase el artículo sobre esto y el repositorio relacionado. Véase también xsh.

                        Entrada y salida

                        Véase también GregsWiki y Redirección E/S.

                        • Las redirecciones truncan los archivos antes de ejecutar las órdenes: por lo tanto no funcionará como se esperaba. Mientras que algunas órdenes (sed, por ejemplo) proporcionan una opción para editar archivos al momento, muchos no lo hacen. En esos casos puede utilizar la orden del paquete moreutils.
                        • Debido a que cat no está integrado en el intérprete de línea de órdenes, en muchas ocasiones puede resultarle más conveniente utilizar una redirección, por ejemplo en scripts, o si le importa mucho el rendimiento. De hecho, hace lo mismo que .
                        • Los intérpretes de línea de órdenes compatibles con POSIX soportan Documentos aquí (Here Documents):
                        • Las tuberías del intérprete de línea de órdenes operan en la salida estándar (stdout) por defecto. Para operar en puede redireccionar stderr a stdout con o, en Bash 4, .
                        • Recuerde que muchas utilidades principales de GNU aceptan archivos como argumentos, por lo que, por ejemplo se puede reemplazar por .

                        Véase también

                        gollark: In what way?
                        gollark: Debian is too stable. It's just outdated.
                        gollark: Idea: nest Docker such that each function in your program has its own container.
                        gollark: No, you ARE to make bizarre esoteric VMs.
                        gollark: Anyway, I cannot see any obvious issues except that RegThree and IMM are the same.
                        This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.