Cambiar el Shell de Linux con el comando csh

En csh en Linux invoca la C Shell, una shell de Unix creada por Bill Joy a finales de los 70, caracterizada por su sintaxis similar a C. Sirve tanto de intérprete de comandos como de lenguaje de scripting, y ofrece funciones como historial de comandos, control de tareas y aliasing. A diferencia del más comúnmente utilizado Bourne Again Shell (bash), csh es conocido por su sintaxis que se asemeja al lenguaje de programación C, haciéndolo intuitivo para aquellos familiarizados con C. El C Shell soporta el uso interactivo y el scripting con características como aritmética incorporada y estructuras de control avanzadas, pero ha sido criticado por su sintaxis inconsistente y sus limitadas capacidades de scripting en comparación con otros shells.

Características

  • Uso interactivo: csh puede utilizarse de forma interactiva para ejecutar comandos escritos por el usuario.
  • Creación de scripts: Puedes escribir scripts (colecciones de comandos) que csh ejecutará.
  • Historial de comandos: Permite a los usuarios recuperar, editar y volver a ejecutar comandos anteriores.
  • Control de tareas: Los usuarios pueden detener, reanudar y poner en segundo plano los procesos.
  • Mecanismo de alias: Los usuarios pueden crear alias para comandos o conjuntos de comandos.
  • Sintaxis tipo C: La sintaxis de las estructuras de control (como bucles y condicionales) se asemeja al lenguaje de programación C.

Para iniciar el intérprete de comandos C, simplemente escribe csh en tu terminal. Aquí tienes un ejemplo de cómo iniciar csh y ejecutar un comando sencillo:

$ csh
% echo "Hello, world!"
Hello, world!
% exit
$

En este ejemplo

  • Al escribir csh se inicia el intérprete de comandos C.
  • El símbolo % indica que estás en el intérprete de comandos C.
  • El comando echo imprime «¡Hola, mundo!» en la pantalla.
  • Si escribes exit, sales del intérprete de comandos C y vuelves al intérprete de comandos original.

En general, csh es un potente intérprete de comandos que combina las características tanto del procesamiento interactivo de comandos como de la ejecución de scripts con una sintaxis familiar para quienes conocen el lenguaje de programación C.

Cambiar el shell de Linux con el comando csh

El comando csh puede utilizarse para cambiar el shell de un sistema Linux al shell C. Cuando ejecutas el comando csh en un terminal, se inicia una nueva sesión de shell utilizando el shell C. Esto contrasta con otros shells estándar como bash (Bourne Again Shell) o zsh (Z Shell).

Aquí tienes una explicación más detallada de cómo funciona `csh` como comando para cambiar de shell:

Iniciar C Shell

Cuando escribes csh en tu terminal, se inicia una nueva sesión de shell utilizando el shell C. Esto puede ser útil si prefieres la sintaxis o las características del shell C sobre tu shell actual.

$ csh
%

En este ejemplo, el indicador `%` indica que ahora estás en el shell C.

Salir del intérprete de comandos C

Para salir del shell C y volver a tu shell anterior (por ejemplo, bash), escribe exit o pulsa Ctrl-D.

% exit
$

Cambiar el shell por defecto con csh

Para cambiar permanentemente tu shell de inicio de sesión por defecto a csh, puedes utilizar el comando chsh (cambiar shell). Este comando cambia el shell especificado en la configuración de tu cuenta de usuario.

 $ chsh -s /bin/csh

Después de ejecutar este comando, debes cerrar la sesión y volver a iniciarla para que el cambio surta efecto. La ruta /bin/csh puede variar dependiendo de la configuración de tu sistema, por lo que debes verificar la ruta correcta al ejecutable del shell C utilizando:

which csh

Utilizar temporalmente un shell diferente

Si quieres utilizar temporalmente el intérprete de comandos C para una sesión concreta, puedes invocar a csh y salir cuando hayas terminado, como se ha descrito anteriormente.

En resumen, mientras que csh puede cambiar temporalmente el shell iniciando una nueva sesión del shell C , el comando csh cambia permanentemente tu shell de inicio de sesión por defecto al shell C.

También te podría gustar...