NeBaut.net
The Corner Shop

Uso de comillas en scripts de shell

A quien no le ha pasado que haciendo un script de shell en Unix/Linux, el script falla por no utilizar de forma correcta los distintos tipos de comillas que hay?. Existe la comilla simple ('), la comilla doble (") y la comilla invertida (`)

La comilla simple (') sirve para coger el contenido que se encuentra entre las comillas de forma literal. Es importante darse cuenta de que algo encerrado entre comillas simples siempre es un solo parametro, aunque sea una ristra vacia ('').

La comilla doble (") sirve para sustituir lo que hay dentro (valores de variables, caracteres especiales), pero despues de sustituir queremos tratarlo como si estuviera encerrado entre comillas simples, osea de forma literal

Un ejemplo..

x=100
y='500$x' 
echo $y             # Mostrara.. '500$x'
y="500$x" 
echo $y             # Mostrara.. '500100'

Otro ejempo para ver la diferencia entere comillas simples(') y dobles (")

x='10     y 5 espacios'
echo $x             # Mostrara.. '10 y 5 espacios'
echo `$x'           # Mostrara.. '$x'
echo "$x"           # Mostrara.. '10      y 5 espacios'

Luego las comillas invertidas (`) se utilizan con comandos, y se sustituyen por la salida del comando esta entre las comillas invertidas. Ejemplo.. 

usuarios=`who | wc -l`

Aule 1:23 PM el 24 de Febrero 2007 |