Las variables se usan para almacenar valores ya sea numéricos o de cadena en alguna parte de la memoria. A continuación se definen los diferentes tipos de variables que soporta Linux.
Variables de usuario
Cualquier usuario puede crear las variables que necesite para almacenar o modificar valores que podrían ser usados por alguno de los comandos usados durante la ejecución de un script. A estas variables se les puede asignar un valor mediante el signo "=", o mediante el comando read. Ejemplo:
BIOTEC="Biotecnologías"
read -n "Cuál es tu profesión?" PROF
echo "Hola, tu profesión es: $PROF, y estás especializándote en $BIOTEC"
Variables posicionales
A estas variables se les llama así porque se crean al ejecutar un script, y se nombran en base al valor numérico posicional que ocupan en la línea de comandos. Esto quiere decir, que reciben un valor en orden iniciando con el nombre del script y luego siguen cada uno de los argumentos pasados al script. Asi, tomando con ejemplo el script listadir, con los directorios como argumentos:
$ listadir /home /etc /var
Se crean las variables 0, 1, 2 y 3. Y sus valores pueden ser accedidos haciendo referencia a: $0, $1, $2 y $3.
Otra variable posicional, de la cual revisaremos su aplicación es $?. Devuelve un "0", si el comando anterior, se ejecutó satisfactoriamente. Y devuelve 1, si no se ejecutó conforme se esperaba.
Más adelante se ilustrará el uso de las variables posicionales.
Variables de ambiente
En Linux, como en cualquier otro sistema operativo, existe un conjunto de variables de ambiente que guardan valores temporales que son usadas por el sistema o por un usuario en modo interactivo o a través de un script. Algunas de las varaibles más usadas por cualquier usuario, son:
USER Guarda el nombre del usuario que inició sesión en el sistema ya sea de manera local o a través de la red.
PWD Contiene la ruta del directorio donde está ubicado actualmente el usuario activo.
HOME Almacena la ruta del directorio home que tiene definidio cada usuario que entra al sistema.
PATH Guarda un conjunto de rutas donde el sistema puede buscar el nombre de un comando ejecutable
SHELL Contiene la ruta de acceso al shell configurado para el usuario que accedió al sistema
Algunas de las variables de ambiente solo son modificables por el sistema y consultadas por los usuarios. Además de que algunas de éstas guardan valores diferentes para cada usuario.
Para acceder a cualquier variable existente, se precede con el signo de $. Por ejemplo, para revisar el contenido de las varables anteriores, se podrías usar el comando echo.
$echo "Hola, $USER"
$echo "Tu directorio home, es $HOME"
$echo "Pero en este momento, estás en: $PWD"
$echo "Las rutas donde el sistema busca un comando o archivo ejecutable son: $PATH"
$echo "El intérprete de comandos que tienes asignado es: $SHELL"