Linux.Shell.Variables.

Variables.

Ismael Royano Gómez
Enredando con Linux.
3 min readAug 23, 2018

--

Son trozitos de memoria a la cual asignamos un nombre para usarla en el procedimiento. El nombre de una variable sólo puede contener letras a-z A-Z, números del 0–9 o el carácter de guión bajo (_).

¿Como se definen?.

Las varibles se definen sin nada especial, simplemente se pone el nombre de la variable el valor que queremos asignarle.

var=”mi texto”
var=0125

¿Como accedo a su valor?

La forma de acceder es anteponiendo el signo $ de la variable.

#!/bin/bash
var=”mi texto”
echo $var

Shell tiene una forma de evitar que se pueda modificar el valor de una variable, es decir, ponerlo como sólo lectura.

#!/bin/bash
var=”mi texto”
readonly var
echo $var

Si ahora intentaramos hacer una asignación, nos dará un error indicando que no se puede modificar el valor de la variable.

Ya no voy usar la variable ¿Que hago con ella?

Si no necesitamos alguna variable, podemos destruirla de forma que ya no se podrá acceder al valor de ésta. Hay que tener en cuenta que no se puede usar esta instrucción en variables definidas como sólo lectura.

unset <nombre variable>

Tipos de variables.

  • Variables locales. Son las que se definen única y exclusivamente en el script que se está ejecutando, no pudiendo ser modificada por ningún otro script o procedimiento.
  • Variables globales. Son las que se definen de forma global, de modo que puede ser modifciada por otros procedimientos en cualquier momento.

Variables especiales.

  • $$. Muestra el número de proceso del sistema que tiene el shell, es decir el PID.
  • $0. Muestra el nombre del script que se está ejecutando.
  • $n. El valor de n es el número de argumento que le pasamos al script, de forma que si hay varios parámetros lo definiríamos como $1, $2, $3, en el caso de que haya 3 parámetros.
  • $#. Muestra el número total de parámetros que le pasamos en el script.
  • $*. Muestra el valor de todos los parámetros que le pasamos al script.
  • $@. Muestra el valor de todos los parámetros que le pasamos al script.
  • $?. El estado de salida del último comando ejecutado. Shell devuelve un estado para saber si es correcto la ejecución o no, es decir, mostrará un 0 si ha ido todo bien y un 1 si ha fallado o ha tenido errores
  • $!. El número de proceso del último comando que está en segundo plano.

Veamos un ejemplo:

#!/bin/bash
echo “Nombre del script: $0”
echo “Parámetro1 : $1”
echo “Parámetro2 : $2”
echo “Valores de los parámetros: $@”
echo “Valores de los parámetros: $*”
echo “Total parámetros : $#”
echo $?

Al ejecutar ./script.sh Benezor 79

Nombre del script : ./script.sh
Parámetro1 : Benezor
Parámetro2 : 79
Valores de los parámetros: Benezor 79
Valores de los parámetros: Benezor 79
Total Total parámetros: 2
0

Variables Arrays.

Este tipo de variables es una forma de almacenar varios conjuntos de valores con un sólo nombre. La forma de definirlo es la siguiente:

#!/bin/bash
array=(ismael lourdes carlos jesus rosario)
echo “El primer elemento es: ${array[0]}
echo “El segundo elemento es: ${array[3]}”

Este ejemplo tenemos una array de 5 elementos (0–5). Asignamos a cada elemento un valor y mostramos el valor del primero y el cuarto, para ver así como se accede a éstos desde una array.

Vamos a mostrar todos los elementos:

echo “Todos los elementos son: ${array[*]}”
echo “Todos los elementos son: ${array[@]}”

Continúa por Operadores.

--

--

Ismael Royano Gómez
Enredando con Linux.

Técnico Informático curioso, lector activo de las nuevas tecnologías, amante de las series de televisión y usuario del respetable mundo del enredo.