Variables
Como en otros lenguajes de programación no se puede vivir sin variables. En la programación en shell todas las variables son de tipo string y no es necesario declararlas. Para asignar un valor a una variable se escribe:
nombre_de_la_variable=valor
Para obtener el valor de la variable simplemente hay que poner el signo del dólar delante de la variable:
#!/bin/sh
# asignamos un valor:
a="hola mundo"
# ahora mostramos el contenido de "a":
echo "A es:"
echo $a
Escribe estas líneas en tu editor de textos y guardalo p.ej. como primero. Después haz ejecutable el script escribiendo chmod +x primero en el shell y después ejecútalo escribiendo ./primero
El script mostrará lo siguiente:
A es:
hola mundo
Algunas veces es posible confundir nombres de variables con el resto del texto:
num=2
echo "este es el $numº"
Aquí no se mostrará "este es el 2º" si no "este es el " porque el shell busca una variable llamada numdo que no tiene valor. Para decirle al shell que queremos mostrar la variable num tenemos que usar llaves:
num=2
echo "este es el ${num}º"
Con esto imprimiremos lo que queremos:
este es el 2º
Hay una serie de variables que se establecen automaticamente. Hablaremos sobre ellas más adelante cuando las usemos por primera vez. Si necesitas manejar expresiones matemáticas entonces necesitas usar programas como expr .Además de las variables de shell normales que son únicamente válidas dentro del programa en shell hay también variables de entorno. Una variable precedida de la palabra clave export es una variable de entorno. No vamos a comentar nada más sobre ellas ya que normalmente sólo se utilizan en scripts de entrada al sistema.