La shell o intérprete de comandos es el programa con el cual interactúas desde tu terminal para controlar nuestro sistema operativo remoto.
Cuando el intérprete indica que está listo para aceptar tu orden, puedes ingresar un mandato que desees ejecutar a través del teclado, el comando. Este comando se considera entrada. El intérprete buscará en uno o más directorios para localizar el programa que has solicitado. Si encuentra el programa, el intérprete traerá tu orden a la atención del kernel. Será el kernel quien seguirá las instrucciones del programa y ejecutará tu mandato. Una vez que el programa se haya ejecutado, el intérprete te solicitará más información o te dirá que está listo para una nueva orden.
La shell traducirá tu orden a un lenguaje que nuestra computadora es capaz de entender. Si tu orden es válida, la computadora hará honor a ella y la cumplirá, normalmente destinando temporalmente a tal fin una porción de nuestro banco de memoria común y presentándola en tu terminal.
Nuestro admin puede cambiar el intérprete de comandos que utilices. Puedes solicitarlo por correo electrónico a admin arroba texto-plano.xyz.
Ver: Tutorial: Lenguaje del Intérprete de Comandos.
Ver: Tutorial: Guiones
El prompt es un indicador que el intérprete hace aparecer a fin de que esta listo y esperando órdenes. Puede aparecer de la siguiente manera:
fulana@texto-plano.xyz:~$
(Esto significa que eres la usuaria fulana
, en el entorno texto-plano.xyz
.).
Esto puede variar, dependiendo de cómo esté configurado tu intérprete. Si lo que ves no es como lo anterior, a no asustarse! Algunos intérpretes tienen prompts más largos y elaborados, otros más exiguos y simples.
Existen varios intérpretes compatibles, algunos de ellos disponibles en nuestro sistema:
sh - Shell de Thompson (histórico, no disponible)
Shell de Bourne (histórico, suplido por Bourne Again Shell)
csh - Shell C del Unix de Berkeley
ksh - Shell de Korn (intérprete por defecto de nuestro sistema).
Puedes saber cual es tu intérprete actual ingresando el comando:
echo "$SHELL"
También puedes saber cuál es el proceso asociado al mismo con:
ps -p $$
Si tienes algún problema con esto avisa a admin arroba texto-plano.xyz.
OpenBSD por defecto utiliza ksh (Korn Shell) que es un intérprete de comandos distinto al que se suele usar en Linux. No todo el mundo se siente cómodo con él.
Para ejecutar un shell distinto temporalmente, puedes ejecutarlo directamente, y salir de el con el comando Exit.
Para cambiarlo puedes solicitar ayuda del administrador, pero también puedes hacerlo por ti mism@.
Debes primero conocer las rutas de los intérpretes. Para ello primero digita:
cat /etc/shells
…y el sistema presentará en tu terminal una lista con la ruta de los intérpretes instalados en el servidor:
# $OpenBSD: shells,v 1.8 2009/02/14 17:06:40 sobrado Exp $ # # Lista de shells aceptables para chpass(1). # ftpd(8) no permitirá a los usuarios conectase si no utilizan # alguno de estos shells, a no ser que el usuario se encuentre listado en /etc/ftpchroot. /bin/sh /bin/csh /bin/ksh /usr/local/bin/git-shell /usr/local/bin/bash /usr/local/bin/fish /usr/local/bin/zsh
Para cambiar de intérprete, deberás ingresar una de estas rutas al asignador de Shell. Ingresa un modificador al “cambiador de shell” que sigua esta sintaxis:
chsh -s ruta_del_shell
Por ejemplo, si deseas utilizar Bash, deberías quedar así:
chsh -s /usr/local/bin/bash
A continuación cierra tu sesión de texto-plano y vuelve a loguearte.