Gestión de las cuentas de usuario y los entornos de usuario en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Septiembre de 2014
 
 

Variables del entorno de shell bash y korn

El shell bash y el shell ksh93 almacenan información especial de variables que el shell conoce como una variable de entorno. Para obtener una lista completa de las variables de entorno actuales del shell bash, utilice el comando declare.

$ declare
BASH=/usr/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINEND=()
BASH_SOuRCE=()
BASH_VERSINFO=([0]=''3'' [1]=''2'' [2]=''25'' [3]=''1''
[4]=''release'' [5]''
.
.
.

Para el shell ksh93, use el comando set, que es el comando declare equivalente del shell bash.

$ set
  COLUMNS=80
  ENV='$HOME/.kshrc'
  FCEDIT=/bin/ed
  HISTCMD=3
  HZ=''
  IFS=$' \t\n'
  KSH_VERSION=.sh.version
  LANG=C
  LINENO=1
  .
  .
  .

Para imprimir variables de entorno para cualquier shell, utilice el comando echo o printf. Por ejemplo:

$ echo $SHELL
/usr/bin/bash
$ printf "$PATH\n"
/usr/bin:/usr/sbin

Notas -  Las variables de entorno no persisten entre sesiones. Para configurar valores de variables de entorno persistentes, establezca los valores en el archivo .bashrc.

Un shell puede tener dos tipos de variables:

Variables de entorno

Especifica las variables que se exportan a todos los procesos que son reproducidos por el shell. El comando export se utiliza para exportar una variable. Por ejemplo:

export VARIABLE=value

Estos valores se pueden visualizar mediante el comando env. Un subconjunto de variables de entorno como PATH, afecta el comportamiento del shell en sí mismo.

Variables (locales) de shell

Especifica las variables que afectan sólo el shell actual.

En un archivo de inicialización de usuario, puede personalizar el entorno de shell de un usuario cambiando los valores de las variables predefinidas o especificando variables adicionales.

En la siguiente tabla, se proporcionan más detalles acerca de las variables de shell y de entornos disponibles en la versión Oracle Solaris.

Tabla 1-10  Descripciones de variables de shell y de entorno
Variable
Descripción
CDPATH
Establece una variable utilizada por el comando cd. Si el directorio de destino del comando cd se especifica como un nombre de ruta relativa, el comando cd primero busca el directorio de destino en el directorio actual (.). Si no se encuentra el destino, los nombres de ruta enumerados en la variable CDPATH se buscan de manera consecutiva hasta que el directorio de destino se encuentra y el cambio de directorio se completa. Si el directorio de destino no se encuentra, el directorio de trabajo actual se deja sin modificar. Por ejemplo, la variable CDPATH se establece en /home/jean y existen dos directorios en /home/jean, bin y doc. Si está en el directorio /home/jean/bin y escribe cd doc, cambia los directorios a /home/jean/doc, aunque no especifique una ruta completa.
HOME
Establece la ruta para el directorio principal del usuario.
LANG
Establece la configuración regional.
LOGNAME
Define el nombre del usuario que tiene sesión iniciada actualmente. El valor predeterminado de LOGNAME se define automáticamente mediante el programa de inicio de sesión para el nombre de usuario especificado en el archivo passwd. Sólo debería ser necesario hacer referencia a esta variable y no reiniciarla.
MAIL
Establece la ruta al buzón de correo del usuario.
MANPATH
Establece las jerarquías de las páginas del comando man que están disponibles.

Notas -  A partir de Oracle Solaris 11, la variable de entorno MANPATH ya no se requiere. El comando man determina el comando MANPATH según la configuración de variables del entorno de PATH.

PATH
Especifica, en orden, los directorios que el shell busca para encontrar el programa a ejecutar cuando el usuario escribe un comando. Si el directorio no está en la ruta de búsqueda, los usuarios deben escribir el nombre de ruta completa de un comando.
Como parte del proceso de inicio de sesión, la variable de entorno PATH predeterminada se define automáticamente y se establece como se especifica en .profile.
El orden de ruta de búsqueda es importante. Cuando existen comandos idénticos en ubicaciones distintas, se utiliza el primer comando encontrado con ese nombre. Por ejemplo, suponga que PATH está definida en la sintaxis del shell como PATH=/usr/bin:/usr/sbin:$HOME/bin y un archivo denominado sample reside en /usr/bin y /home/jean/bin. Si el usuario escribe el comando sample sin especificar el nombre de ruta completo, se utiliza la versión encontrada en /usr/bin.
PS1
Define el indicador de shell para el shell bash o el shell ksh93.
SHELL
Establece el shell predeterminado utilizado por make, vi y otras herramientas.
TERMINFO
Nombra un directorio donde se almacena una base de datos terminfo alternativa. Utilice la variable TERMINFO en el archivo /etc/profile o /etc/.login. Para obtener más información, consulte la página del comando man terminfo(4).
Cuando la variable de entorno TERMINFO se establece, el sistema primero comprueba la ruta TERMINFO definida por el usuario. Si el sistema no encuentra una definición para un terminal en el directorio TERMINFO definido por el usuario, busca el directorio predeterminado, /usr/share/lib/terminfo, para una definición. Si el sistema no encuentra una definición en ninguna ubicación, el terminal se identifica como "ficticio".
TERM
Define el terminal. Esta variable se debe restablecer en el archivo /etc/profile o /etc/.login. Cuando el usuario invoca a un editor, el sistema busca un archivo con el mismo nombre definido en esta variable de entorno. El sistema busca el directorio al que se hace referencia por TERMINFO para determinar las características de terminal.
TZ
Define la zona horaria. La zona horaria se utiliza para mostrar fechas, por ejemplo, en el comando ls -l. Si TZ no se estableció en el entorno del usuario, se utiliza la configuración del sistema. De lo contrario, se utiliza la hora del meridiano de Greenwich.