Está en la página 1de 2

Comillas El uso de las comillas en la programacin en shell es un tema bastante importante.

En los lenguajes de alto nivel normalmente las comillas solo se utilizan para l as ristras, y no necesitan un aprendizaje especial para usarlas: simplemente sab er (en el lenguaje C, por ejemplo) que las comillas simples son caracteres y que las comillas dobles requieren reservar memoria, porque son ristras, o sea, punt eros a caracteres. Tres tipos de comillas En la programacin en shell en UNIX hay tres tipos de comillas tiles: La comilla si mple ('), la comilla doble (") y la comilla invertida (`). Cada una tiene un pro posito diferente, y se deben saber usar todas bien. 1. La comilla simple (') sirve para coger literales. Es importante darse cuenta de que algo encerrado entre comillas simples siempre es un solo parmetro, aunque sea una ristra vaca (''). 2. La comilla doble sirve para sustituir lo que hay dentro (valores de variables , caracteres especiales), pero despus de sustituir queremos tratarlo como si estu viera encerrado entre comillas simples. Esto es til cuando, por ejemplo, tenemos que dar un parmetro a un programa, pero ese parmetro es ledo del teclado y no sabem os si la ristra es vaca. Si nos tenemos que asegurar de que se trata como un parme tro, tendramos que encerrarlo entre comillas simples (recordemos que '' sigue sie ndo un parmetro, aunque vaco), pero si lo encerramos entre comillas simples no se sustituir la variable. La forma de hacerlo es encerrando la variable entre comill as dobles. Veamos esto en el siguiente ejemplo: x=100 y='500$x' echo $y # Esto mostrara `500$x' en pantalla y="500$x" echo $y # Esto mostrara `500100' en pantalla 3. Las comillas invertidas (`). Estas se utilizan con rdenes, y se sustituyen por la salida del programa que est entre las comillas invertidas. Por ejemplo, si qu eremos almacenar en una variable el nmero de usuarios que hay actualmente en el s istema, podemos hacer usuarios=`who | wc -l` Por si queda alguna duda, who dice los usuario que hay en el sistema, poniendo u no en cada lnea, y wc -l cuenta las lneas que tiene el texto que le entre por la e ntrada estndar, sacando el nmero resultante a la salida. Separadores de parametros Hay otras razones para desear poner parametros encerrados entre comillas simples o dobles: si queremos el literal exacto del contenido de una variable. Si una variable (por ejemplo, porque se le ha asignado la salida estandar de un programa) contiene saltos de lnea, y no ponemos comillas, entonces el interprete lo entendera como que esos saltos de lnea son separadores de parametros, y por ej emplo el echo los separara con un espacio. Tendremos un problema parecido si pon emos mas de un espacio para separar los parametros: x='10 y 5 espacios'

echo $x # Saldra en pantalla '10 y 5 espacios' echo `$x' # Saldra en pantalla `$x' echo "$x" # Saldra en pantalla '10 y 5 espacios'