Make your own free website on Tripod.com

Linux

Variables de entorno
Principal | E/S Sistema | Estructura de Ficheros | Comandos man e info | Terminales virtuales | Usuarios y Permisos | Interpretes de comandos | Variables de entorno | FSSTND | Algunos ficheros de /etc | Comandos at y crontab

Las variables de entorno

Las variables de entorno son unos contenedores que contienen ciertos parámetros del sistema, como puede ser el intérprete de comandos que se esté usando, u otros.
******************Poner más ejemplos

Cómo acceder a las variables de entorno

Para acceder a las variables de entorno hay que escribir un símbolo dólar ($), seguido del nombre de la variable. Los nombres de las variables de entorno en Linux se suelen escribir en todo mayúsculas por convenio, pero no tiene por qué ser así. Incluso se pueden poner variables de entorno con mezclas de mayúsculas e minúsculas. El nombre de la variable de entorno que contiene el intérprete de comandos actual es SHELL, así que para ver el contenido de esta variable se usa:
[usuario1@localhost usuario1]# echo $SHELL
/bin/bash
[usuario1@localhost usuario1]# _

Hay algunas variables que el usuario no puede establecer, y otros que sí. Las variables de entorno se establecen de la siguiente manera: se escribe el nombre de la variable, seguido por un signo igual (=), seguido de un texto, que va entrecomillado si es más de una palabra.

Algunas variables interesantes

Aquí hay una lista de las variables más interesantes:

  • $PS1: contiene la forma del símbolo del sistema
  • $EDITOR: contiene el editor de texto que se usará por omisión. Suele ser vi
  • $: valor devuelto por el comando anterior
  • $HOME: la ruta absoluta hasta el directorio inicial del usuario actual
  • $PATH: las rutas a los programas que hay establecido para el usuario actual. Cuando se ejecuta un comando, se buscará en estos directorios
  • $MAIL: contiene la ruta hacia el directorio que se usará para guardar el correo del usuario
  • $HISTORY: la ruta hacia el fichero que contiene el histórico de comandos (un fichero que contiene los últimos comandos que has escrito en la consola

Para ver todos las variables de entorno que están establecidas, se utiliza el comando set. Un ejemplo de su ejecución:
[root@localhost root]# set
BACKSPACE=Delete
BASH=/bin/bash
BASH_VERSINFO=([0]="2" [1]="05" [2]="1" [3]="1" [4]="release" [5]="i586-mandrake-linux-gnu")
BASH_VERSION=$'2.05.1(1)-release'
BROWSER=$'kfmclient openProfile webbrowsing'
CLASS=expert
COLORTERM=
COLUMNS=104
DIRSTACK=()
DISABLE_WINDOWS_KEY=no
DISPLAY=:0.0
ENV=/root/.bashrc
EUID=0
GROUPS=()
GTK_RC_FILES=/etc/gtk/gtkrc:/home/root/.gtkrc
HELP_BROWSER=$'kfmclient openProfile webbrowsing'
HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/root
HOSTNAME=localhost.localdomain
HOSTTYPE=i586
IFS=$' \t\n'
INPUTRC=/etc/inputrc
KBCHARSET=iso-8859-1
KDE_MULTIHEAD=false
KEYTABLE=es-latin1
LANG=es
LANGUAGE=es
LC_COLLATE=es@tradicional
LC_CTYPE=es@tradicional
LC_MESSAGES=es@tradicional
LC_MONETARY=es@tradicional
LC_NUMERIC=es@tradicional
LC_TIME=es@tradicional
LESS=-MM
LESSKEY=/etc/.less
LESSOPEN=$'|/usr/bin/lesspipe.sh %s'
LINES=41
LOGNAME=root
LS_COLORS=$'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.tar=01;31:*.tgz=01;31:*.tbz2=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lha=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:*.tiff=01;35:'
LS_OPTIONS=$'-F --color=auto'
MACHTYPE=i586-mandrake-linux-gnu
MAIL=/var/spool/mail/root
MAILCHECK=60
META_CLASS=PowerPack
NLSPATH=/usr/share/locale/%l/%N
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
PIPESTATUS=([0]="0")
PPID=1551
PROMPT_COMMAND=$'echo -ne "\\033]0;${USER}@${HOSTNAME}: ${PWD}\\007"'
PS1=$'[\\u@\\h \\W]\\$ '
PS2=$'> '
PS4=$'+ '
PWD=/home/root
QT_XFT=0
SECURE_LEVEL=4
SECURITY=4
SESSION_MANAGER=local/localhost.localdomain:/tmp/.ICE-unix/1441
SHELL=/bin/bash
SHELLOPTS=braceexpand:hashall:histexpand:monitor:history:interactive-comments:emacs
SHLVL=2
TERM=xterm
TMP=/home/root/tmp
TMPDIR=/home/root/tmp
UID=0
USER=root
USERNAME=root
XMODIFIERS=@im=none
_=usuario1
i=/etc/profile.d/xhost.sh
langfile=/root/.i18n
sourced=1
mc ()
{
    mkdir -p $HOME/.mc/tmp 2>/dev/null;
    chmod 700 $HOME/.mc/tmp;
    MC=$HOME/.mc/tmp/mc-$$;
    /usr/bin/mc -P "$@" >"$MC";
    cd "`cat $MC`";
    rm -i -f "$MC";
    unset MC
}
screen ()
{
    if [ -z "$SCREENDIR" ]; then
        export SCREENDIR=$HOME/tmp;
    fi;
    /usr/bin/screen $@
}
[root@localhost root]#

Como se puede ver, existen muchas variables de entorno; cada una tendrá un significado especial para uno o más programas que existan en el sistema.

* Profesor Fernando Guerrero *
e-mail: perito.informatica@gmail.com