Tema04 Linux
Tema04 Linux
Tema04 Linux
VARIABLES
DE ENTORNO Y CARACTERES ENTRECOMILLADOS.
Redireccionamiento de comandos Encadenamiento de comandos. Filtros. Expresiones regulares
Variables de entorno. Entrecomillados
------------------------------------
REDIRECCIONAMIENTO DE COMANDOS
Cuando un comando es ejecutado, usualmente este espera alguna entrada y normalmente producir
una salida:
Entrada estndar: archivo desde el cual un comando espera leer su entrada de datos. por
omisin es el teclado.
Salida estndar: archivo en el cual un comando deja el resultado obtenido. por omisin, la
pantalla.
Salida de errores: archivo en el cual el comando escribe cualquier mensaje de error que se
produzca durante su ejecucin. por omisin es la pantalla.
Ejemplos:
> fichero
El smbolo > tambin se puede emplear para mandar mensajes a un determinado terminal siempre y
cuando dicho terminal no est bloqueado. Para que el terminal no est bloqueado, el usuario que lo
est usando debe dar permiso de escritura para todos los usuarios. Por ejemplo:
echo estoy aqui>/dev/tty01
Ejemplos: SOBREESCRIBE
ls /bin>/tmp/fich # Crea el archivo fich en el directorio /tmp con el contenido del directorio
/bin en lugar de mostrarlo a la pantalla.
cat>fich # Crea el archivo fich con lo que se teclee hasta que se pulse [Ctrl + d]
who > quien # Crea el archivo quien con la informacin que da who sobre los usuarios
conectados
REDIRECCIONES COMBINADAS
Puede utilizarse el redireccionamiento combinado de los archivos de entrada, salida y errores en un
mismo comando.
cat<datos >resultado
Hay que tener cuidado de utilizar los signos de redireccionamiento en los comandos, ya que el shell
primero abre y borra el archivo de salida para recibir el resultado posterior del proceso. Si
cambiamos la colocacin de los ficheros podemos perder la entrada.
cat<datos>datos # Borrara datos y luego (ya borrado) lo toma de entrada para cat. EL
MAYOR TIENE SIEMPRE PRIORIDAD.
No pueden emplearse dos o ms entradas o salidas del mismo comando, si exceptuamos el caso de
redireccionar a un fichero la informacin normal y a otro el de la informacin de errores.
cat<datos<fechas # Este comando provocar un error.
Los smbolos de redireccionamiento pueden ir en cualquier orden; de esta forma, el primer ejemplo
se podra haber escrito as:
cat>resultado <datos
Vaciar fichero cat <f1>f1 se borra el contenido de f1 lo primero antes del cat
asik quedara el fichero vacio
ENCADENAMIENTO DE COMANDOS
Muchos de los comandos de Linux utilizan una entrada estndar (teclado) y una salida estndar
(pantalla) cuando no se le suministran como parmetros.
Esta caracterstica de Linux, que en su momento se utiliz para poder efectuar redireccionamientos,
tambin permite enlazar comandos entre s, haciendo que uno utilice como entrada la salida pro-
porcionada por el anterior, e incluso que su salida se suministre al siguiente. De esta forma se logran
estructuras de comandos realmente potentes. A estas estructuras de comandos se les denomina
pipelines o tuberas.
Para enlazar los comandos entre s, se utiliza el carcter ( | ), y la estructura queda como sigue:
comando1 | comando2 | comando3 # En la que la salida proporcionada por comando1 es tomada
por comando2 como entrada, la manipula de alguna forma
(dependiendo del comando en s) y la salida generada es
pasada a su vez a comando3.
Es importante diferenciar el concepto de tubera del de redireccionamiento. En el primero, se rela-
cionan comandos entre s, pasando la salida de uno a otro; en el segundo, se relacionan comandos
con archivos, tomando el contenido de un archivo como entrada o enviando la salida a un archivo.
Las rdenes con tuberas pueden combinarse con redireccionamientos. Por ejemplo:
comando1 | comando2 > archivo1 # comando2 toma la salida de comando1 como entrada y su
salida la almacena en archivo1.
comando1 < archivo1 | comando2 # comando1 toma como entrada los datos contenidos en
archivol y su salida es transferida como entrada a
comando2. A1 no tener comando2 redireccionada su
salida, sta ir a la estndar.
La cantidad de comandos en una tubera es, en principio, ilimitada. Si no es suficiente una sola lnea
de comandos puede ponerse al final el carcter "\" y continuar en la lnea siguiente.
Ejemplos:
ls | cat Lista el directorio y lo pasa al comando cat que lo visualiza por pantalla
who | wc -l # Proporciona la cantidad de usuarios identificados ante el sistema.
FILTROS
Los filtros son unos comandos que normalmente trabajan con la entrada estndar y por eso se pue-
den utilizar en secuencias de redireccionamientos y en tuberas.
COMANDO more
Este comando permite visualizar uno o ms archivos pantalla a pantalla.
Por omisin, el nmero de lneas que muestra en cada pantalla es de 23 lneas de texto, y una ltima
lnea de mensaje donde aparece la palabra - more -.
Una vez mostrada la primera pantalla del archivo, si el usuario introduce un retorno de carro se
visualizar una lnea ms. si se pulsa la barra espaciadora, se visualizarn las 23 lneas del archivo.
Formato: more [opciones] [+num lnea] [+/pattern] archivo ...
Opciones:
-n Fija el nmero de lneas por pantalla.
+num_ lnea Comienza a mostrar el archivo a partir de la lnea num lnea.
+cadena Comienza a mostrar el archivo dos lneas antes de encontrar la cadena buscada.
El comando more muestra el contenido de un archivo pgina a pgina, parando la visualizacin en
cada pgina mostrada. Esto permite al usuario la introduccin de comandos auxiliares del more. El
comando more facilita al usuario una pantalla de ayuda con todos estos subcomandos, pulsando
simplemente la tecla h (help). Estos subcomandos son:
Ad Muestra otras 11 lneas ms.
ns Salta n lneas y muestra toda una pantalla nueva del archivo que se est visualizando
nf Salta n pantallas hacia delante.
q Salir del comando more.
= Muestra el nmero de la lnea actual.
v Entra en el editor vi, en la lnea actual. al finalizar la edicin vuelve al comando more.
n/string Busca la n ocurrencia del string. Si se encuentra la ocurrencia mostrar la pantalla
comenzando dos lneas antes de la ocurrencia. Si no existe el nmero de ocurrencia
solicitado, no habr cambio de posicin en el archivo. Una vez solicitado el string, el
usuario podr utilizar los caracteres de borrado para editar el string. Si al borrar se
supera el limite de la primera columna del string se cancelar el comando de bsqueda.
in Busca por la i ocurrencia de la ltima bsqueda ordenada.
, Va al punto desde donde comenz la ltima bsqueda. Si anteriormente no se ejecu -
t ningn comando de bsqueda el cursor ir al comienzo del archivo.
!cmd Ejecucin de un comando shell .
i:n Salta al i (siguiente) archivo especificado cundo se llam al comando.
n:p Salta al n previo archivo especificado en la lnea del comando.
:f Muestra el nombre del archivo actual y el nmero de lnea.
. Repetir el ltimo subcomando.
Si no se suministra nombre de archivo, asume la entrada estndar, lo que le convierte en un potente
filtro para utilizar en tuberas.
Ejemplo:
ls -l | more # Visualiza al directorio actual, en formato largo, pantalla a pantalla.
Existe una orden muy similar a more llamada pg que se puede consultar con el comando man.
COMANDO tail
La orden tail sirve para visualizar las ltimas 10 lneas del fichero especificado o de la entrada
estndar
Formato: tail [+nmero | -nmero] [fichero ...]
Opciones:
+nmero Indica que se visualizar desde la lnea nmero hasta el final del archivo
-nmero Indica cuntas lneas se visualizarn empezando a contar desde el final del
archivo. El valor predeterminado es 10.
Ejemplos:
tail /etc/passwd # Visualizar las 10 ultimas lneas del fichero /etc/passwd
ls -l | tail -3 # Visualizara las 3 ltimas lneas de la salida de ls -l
tail +4 /etc/passwd # Visualizar desde la cuarta lnea hasta el final del archivo /etc/passwd.
COMANDO head
La orden head sirve para visualizar las 10 primeras lneas del fichero especificado o de la entrada
estndar.
Formato: head [-nmero] [fichero ...]
Opciones:
-nmero Indica cuntas lneas se visualizarn desde el principio del archivo.
Ejemplos:
head /etc/passwd # Visualizar las 10 primeras lneas del fichero /etc/passwd
ls -l | head -3 # Visualizara las 3 primeras lneas de la salida de ls -l.
COMANDO wc
Este comando cuenta las lneas, palabras y caracteres que contengan los archivos referenciados.
Formato: wc [-opcin ...] [fichero ...]
Opciones:
-l Cuenta el nmero de lneas en un archivo.
-w Cuenta el nmero de palabras en un archivo.
-c Cuenta el nmero de caracteres en un archivo.
A1 contar, el comando wc entiende que una lnea est delimitada por el carcter (\n), una palabra
por espacios, tabuladores o (\n). Cuando cuenta caracteres incluye (\n), tabuladores y espacios. El
carcter \n equivale a retorno de carro.
Si no se especifica archivo, wc cuenta desde el archivo estndar de entrada (teclado).
Wc l /etc/passwd me devuelve el nmero de usuarios si me devuelve 10 lneas hay 10 usuarios
Wc l /etc/group aqu se consulta el nmero de grupos
find / -name "l*" 2>errores |wc l Contar todos los archivos que empiecen con l y manda los
errores al archivo errores
Si no se especifica ninguna opcin, aparecern en pantalla y con este orden el nmero de lneas,
palabras, caracteres y nombre del archivo o archivos.
Tambin mostrar, en caso de ms de un archivo, una cuenta combinada de todos ellos. Ejemplos:
wc doc1 # Mostrara el nmero de lneas, palabras y
caracteres del archivo doc1.
wc -w stu2/doc3 # Mostrara el nmero de palabras del documento
doc3, bajo el subdirectorio stu2.
who | wc -l # Contara el nmero de usuarios que hay conectados.
find /usr -name "*.h" -print | wc -l>num # Suministra la cantidad de archivos que hay debajo
de toda la estructura de /usr cuyo nombre termina
en ".h", y el resultado lo almacenara en el fichero
num.
EXPRESIONES REGULARES
Son metacaracteres que se pueden utilizar para localizar informacin dentro de un archivo. Son
especialmente tiles cuando figuran en el patrn de datos del comando grep. No deben confundirse
con los metacaracteres utilizados en los nombres de los archivos.
Los ms destacados son:
. (punto) Cualquier carcter en esa posicin.
* Repeticin del carcter previo.
[] Un carcter de los incluidos entre corchetes.
[^ ] Exclusin de los caracteres incluidos entre corchetes.
^ Comienzo de lnea.
$ Final de lnea.
Se pueden utilizar tambin en los comandos de bsqueda del editor vi.
Ejemplos:
grep se.t'' coches # Proporcionarn las lneas del archivo coches que
contengan un texto se, a continuacin, cualquier carcter y,
detrs una t.
grep "gasoil.*lento" coches # Suministra las lneas del archivo coches, que contengan
las palabras gasoil y lento, independientemente del texto
que haya entre ellas.
grep "^r" coches # Mostrar las lneas que comiencen por r dentro del archivo
coches.
grep "^[^r]" coches # Las lneas que no comiencen por r.
grep "ca$" pases # Proporciona las lneas del archivo paises que finalicen en
ca.
grep octubre facturas pedidos # Buscara el patrn octubre en los archivos facturas y
pedidos. Todas las lneas de ambos archivos que
contengan el patrn sern mostradas en pantalla.
grep "facturas octubre'" pedidos # Muestra todas las lneas en el archivo pedidos que
contengan la serie de caracteres "facturas octubre".
grep -v unix unit1 # Sern mostradas todas las lneas del archivo unit1 donde
no aparezca el patrn unix.
grep -c abril gastos # Aparecern en pantalla el nmero de lneas del archivo
gastos donde aparezca el patrn abril.
grep ring unit2 # Aparecern en pantalla todas las lneas del archivo unit2
que contengan la palabra ring. Si no se pusieran las
comillas simples y los espacios en blanco, entonces
mostrara cualquier lnea que contenga la serie de
caracteres conteniendo las letras `ring', (tales como la pala-
bra string)
COMANDO sort
Clasifica y/o fusiona archivos. Su resultado lo muestra en la salida estndar, O bien lo almacena en
el archivo de salida especificado (output). Cuando no se suministra nombre de archivo asume la
entrada estndar.
Formato: sort [-cmu] [-dfinr] [-btc] [+pos1 [-pos2] ] [-o output] [fichero ...]
Si no se especifican claves de clasificacin, tomar toda la lnea como clave por la que clasificar. Se
puede clasificar por ms de un campo, y cada campo, con las opciones de clasificacin que se desee
(bdfinr). Por omisin clasifica en orden ascendente.
Opciones: (Todas las opciones pueden combinarse para producir la salida deseada.)
-c Comprueba que el archivo de entrada est clasificado segn las rdenes de clasificacin.
No produce ninguna salida, a no ser que as se especifique.
-m Fusiona los archivos previamente clasificados.
-u Elimina las lneas duplicadas en la salida.
-d Ordenacin como diccionario; slo cuentan letras, dgitos y espacios en blanco.
-f Ignora la distincin entre maysculas y minsculas.
-i Ignora los caracteres no imprimibles en la comparacin.
-n Clasifica considerando la clave como campo numrico.
-r Invierte el orden de clasificacin.
-tc Indica que el carcter separador de campos es el c. t: el carcter separador seria :
-o Especifica el nombre del archivo de salida, en vez del archivo de salida estndar.
-b Ignora, en la comparacin, los espacios iniciales del campo de clasificacin.
-M Ordena por meses JAN< ... <MAY ... <DEC.
El comando sort es una eficaz herramienta para clasificar e intercalar archivos. Aporta una gran
variedad de opciones y la posibilidad de seleccionar precisamente los campos por los cuales
podemos clasificar.
Un campo puede estar separado del siguiente por blancos, tabuladores u otros caracteres. El carcter
de separacin por defecto es el blanco o espacio.
El comando sort opera, por omisin, en toda la lnea, o bien en campos dentro de las lneas. Las
claves de clasificacin son especificadas usando las notaciones +pos1 y -pos2, las cuales limitan la
clave de clasificacin a un campo que comienza donde indique pos1 y termine justo antes de
pos2.
+pos1 -pos2 indican campos, no columnas. El primer campo del registro recibe el nombre +0 (+1,
+2, ...).
Si solo se indica un campo +X tomara como clave de clasificacin desde el principio de dicho
campo hasta el final de la lnea.
Existe otra forma de especificar campos de ordenacin con -k n1,n2, donde n1 es el campo de
comienzo de la clave de clasificacin y n2 el ltimo campo incluido en la clave.
n1 empieza en 1 para identificar el primer campo.
Ejemplos:
sort testfile # Clasificara en orden ascendente el archivo testfile, mostrando su
resultado en la salida estndar.
sort a b c -o d # Clasificara los archivos a, b, c y almacenar su resultado en el
archivo d.
sort -t: +3 coches # Clasificara el archivo coches, utilizando el carcter (:) como un
separador de campos, usando como clave a partir del cuarto
campo hasta el final del registro.
sort a -o a # Clasificara el archivo a en orden ascendente, almacenando la
salida en l mismo.
sort -r master # Clasificara el archivo master, en orden descendente y lo
mostrara en la pantalla.
sort -f master # Clasificara el archivo master en orden ascendente sin hacer
distincin entre maysculas y minsculas. El resultado sera
enviado a la pantalla
sort -t: +0 -1 +2 master # Clasificara el archivo master, en orden ascendente, utilizando
como clave principal el primer campo y como secundaria el ter-
cero Utiliza como carcter separador : (dos puntos).
sort -t: -k 1,1 -k3 master # Clasificara el archivo master igual que en el ejemplo anterior.
El k deber ir seguido de 1,1 o 2,2 y de de k5 el utlimo campo a
ordenar
Ordenar los ficheros de mi directorio activo por el espacio que ocupan, de mayor a
menor
Ls l |tr s |sort n t k5 >archivosordenados
Uso el tr para limitar los espacios en blanco en uno solo y asi poder usar el espacio en blanco como separador de
campos, luego al ser un dato numerico uso la opcion n para ordenarlos de manera ascendente numericamente
Si quisiese sacar en sentido inverso debo poner r con k5 ordena atendiendo al quinto campo que es el tamao del
archivo y con >archivo mando los resultados a un archivo de texto.
COMANDO cut
Este comando puede ser usado para extraer ciertas columnas o campos en cada una de las lneas de
un archivo. Los campos tomados pueden ser de longitud fija o variable (carcter delimitador). Si no
se especifica archivo de entrada se tomar como entrada el teclado. La salida estndar es la pantalla.
No puede variarse el orden de aparicin de campos.
Formato: cut -opcin ... [fichero...]
Opciones:
-dc Indica que c es el carcter separador de campos.
-cl,lista Indica que se quiere seleccionar columnas de datos, dando su posicin de comienzo y fin
mediante la posicin que ocupen sus caracteres de comienzo y fin.
-fl,lista Indica que se quiere visualizar campos separados por caracteres separadores.
(lista) lista de nmeros que representan campos o caracteres (1,2,3 representaran los
campos o caracteres l, 2 y 3) (1,2-7,9 representaran los campos o caracteres 1,2,3,4,5,6,7y
9).
Ejemplos:
cut -d: -fl,4,6 filea # Seleccionara los campos 1,4 y 6 del archivo filea.
cut -cl 15 # Seleccionara los primeros 15 caracteres de cada lnea de la
entrada estndar.
who| tr s | cut f2 d # Visualizara la lista de terminales en actividad.
COMANDO tee
Generalmente, los archivos de salida intermedios en las estructuras con tuberas no son utilizados,
excepto por el archivo de entrada del siguiente comando o programa.
No se mantienen sus contenidos una vez utilizados.
El comando tee se usa para conservar un archivo de salida intermedio y poder as procesarlo ms
tarde.
Formato: tee [-opcin...] [fichero...]
Opciones:
-a Esta opcin hace que la salida se aada al final del archivo nombrado. Si el archivo no existe,
el comando tee lo crea y si existe lo inicializa.
Si se desea utilizar nuestro terminal, se deber utilizar su trayectoria (/dev/ttyxx).
Ejemplo:
grep in fich1 | tee tu | wc l
Sirve para guarda el resultado intermedio del grep que es contar las
lneas con la palabra in en el archivo tu y luego contara las lneas
totales del archivo fich1
COMANDO echo
Escribe sus argumentos en pantalla, terminando con el carcter "nueva lnea" (\n). Es til para
generar mensajes en pantalla desde archivos de comandos, as como para enviar datos conocidos a
una estructura con tuberas.
Se pueden utilizar los caracteres de edicin del lenguaje C, tales como \n, \c, etc., teniendo el mismo
significado.
Formato: echo [arg] ...
Opciones:
-c Para incluir caracteres de control del C (\t, \c, \n). En SCO no es necesaria esta opcin, pero en
Linux s.
Quita el salto de lnea al final del echo
-n
Ejemplos:
echo "Esto marcha" # Mostrara en pantalla el mensaje indicado.
echo d* # Mostrara en pantalla el nombre de todos los archivos del directorio
actual que comiencen por el carcter d.
EJERCICIOS
sort -t: -k, 4,4 -k 1,1 -k 2 pases # Ordenar el fichero por el 4. campo (idioma), como segunda
clave el l. (continente) y, como tercera, el 2. campo (pas).
EUROPA: ALEMANIA:BERLIN:ALEMAN ASIA: TAIWAN: TAIPEI:CHINO
AFRICA:ARGELIA:ARGEL:ARABE EUROPA: FRANCIA: PARIS:FRANCES
AFRICA:EGIPTO: EL CAIRO:ARABE EUROPA: HUNGRIA:BUDAPEST:HUNGARO
AFRICA:MARRUECOS:RABAT:ARABE ASIA:INDIA:DELHI:INDU
AMERICA:ARGENTINA:BUENOS AIRES:CASTELLANO AMERICA:USA: WHASINGTON:INGLES
AMERICA:MEJICO:MEJICO:CASTELLANO EUROPA:GRAN BRETAA:LONDRES:INGLES
AMERICA:PERU:LIMA:CASTELLANO AMERICA:BRASIL:BRASILIA:PORTUGUES
EUROPA: ESPAA:MADRID:CASTELLANO EUROPA: PORTUGAL:LISBOA:PORTUGUES
ASIA: CHINA: PEKIN:CHINO
cut -d: -f1-3 paises | grep EUROPA # Extrae los tres primeros campos de las lneas que tienen la
cadena "EUROPA".
EUROPA:ESPAA:MADRID
EUROPA: HURIA:BUDAPEST
EUROPA: FRANCIA: PARIS
EUROPA:GRAN BRETAA:LONDRES
EUROPA:ALEMANIA:BERLIN
EUROPA: PORTUGAL: LISBOA
cat paises |grep CASTELLANO | sort t: +0 1 +1 # Ordena las lneas que tienen la cadena
"CASTELLANO" por el campo
continente y como clave secundaria. Es
decir, las del mismo continente, por pas.
AMERICA:ARGENTINA:BUENOS AIRES: CASTELLANO
AMERICA:MEJICO:MEJICO:CASTELLANO
AMERICA: PERU:LIMA: CASTELLANO
EUROPA: ESPAA:MADRID: CASTELLANO
cat paises |grep CASTELLANO | sort t: +0 1 +1| cut d: -fl-3 # Lo mismo que el ejemplo
anterior, pero extrayendo los
tres primeros campos.
AMERICA:ARGENTINA:BUENOS AIRES
AMERICA:MEJICO:MEJICO
AMERICA:PERU:LIMA
EUROPA: ESPAA:MADRID
ls 1/dev | sort | tee datos |grep fd # El comando ls -l proporciona los nombres de los ficheros y
directorios en formato largo del directorio /dev. Esta
informacin es ordenada mediante el comando sort y
recogida en el fichero datos mediante el comando tee . El
resultado final ser la visualizacin de las palabras que
contengan la cadena "fd" del listado ordenado de los
ficheros y directorios de /dev .
sort u lfich >ordfich Mismo que el anterior pero el resultado lo sobrescribe en orfich
Variables de entorno
Las variables de entorno son cadenas de caracteres de la forma NOMBRE=valor, donde nombre
puede ser cualquier cadena de caracteres que no incluya el carcter $ y no tenga espacios en blanco,
y valor, cualquier cadena de caracteres incluyendo espacios. Como ya hemos visto, existen
variables definidas en la conexin, pero durante nuestro trabajo podemos definir ms. Para ver una
lista de todas ellas se utiliza el comando set.
Para definir una variable de entorno se especifica el nombre y el valor, por ejemplo:
MUESTRA="La orquesta de las nubes"
poner el nombre de la variable en maysculas es una costumbre en los ambientes Linux para dis-
tinguirlas de los comandos; una variable con el mismo nombre en minsculas sera otra variable de
entorno distinta.
En el valor hemos puesto comillas dobles (") para acotarlo, porque tenemos espacios en blanco. El
uso de las comillas dobles se explica con detalle ms adelante.
No es necesario declarar el nombre de la variable antes de utilizarla.
Cuando se desea utilizar el valor contenido en una variable, se escribe su nombre comenzando con
un $.
Puede utilizarse la orden echo para visualizar el contenido o valor de una variable de entorno:
echo $MUESTRA
Las variables de entorno pueden utilizarse como nombres o como argumentos de rdenes, tal como
se muestra en este ejemplo:
XYZ="cat fich1" # Se asigna a la variable XYZ la cadena cat fich1.
$XYZ # Mostrara en pantalla el contenido de fich1.
Tambin puede incorporarse la variable de entorno dentro de otra cadena de caracteres:
echo "hola${MUESTRA}hola # Visualizara en pantalla: holaLa orquesta de las nubeshola
Para que el shell distinga la variable $MUESTRA de $MUESTRAhola se ponen las llaves.
Tambin podramos hacerlo:
echo "Actuacin de $MUESTRA en la Luna" # Y el resultado en pantalla sera: Actuacin
de La orquesta de las nubes en la Luna
ENTRECOMILLADOS
En Linux las comillas dobles () las sencillas () el acento grave (`) y la barra invertida (\)
tienen unos significados especiales que se deben entender para no confundir su funcin y efectos.
Las comillas sencillas hacen que lo que se encierra entre ellas no sea interpretado por el shell
(intrprete de comandos). Desactivan el significado especial de los metacaracteres (* ? [ ]) y
caracteres especiales ($ \ > <).
Por ejemplo:
echo $HOME # Saca en pantalla el valor de la variable home, es decir, la trayectoria del
directorio propio del usuario conectado.
Sin embargo,
echo '$HOME' # Visualizar: $HOME. porque el shell no interpreta el signo $.
Las dobles comillas, sin embargo, s permiten la interpretacin de $, acento grave y barra invertida,
pero no la de los metacaracteres.
echo "$HOME es mi directorio # Mostrara en pantalla la siguiente salida:
/usr/profes/ciru es mi directorio
echo "Lista de archivos de mi directorio ls -1 *" # Visualizara en pantalla la cadena: Lista de
archivos de mi directorio ls -1 * (se ve tal
cual el asterisco xk esta evitando su
interpretacin las comillas dobles)
La barra invertida evita la interpretacin del carcter que tiene a continuacin.
echo \$HOME # Visualizara la siguiente salida: $HOME
Porque no interpretara el signo $.
echo lista > total # Redireccionara la cadena lista al fichero total.
echo "lista \> total" # Visualizara en pantalla la cadena. lista > total la barra protege el
carcter mayor para que no este no sea interpretado por el shell
El acento grave permite la ejecucin de una orden, y la salida puede ser asignada a una variable.
echo `pwd` # Visualiza por pantalla el directorio activo.
echo pwd # Muestra en pantalla la cadena pwd.
LNEAS= `cat f* | wc 1` # Asignamos el valor encerrado entre acentos graves a la variable
LNEAS.
echo $LNEAS # Visualizara el nmero de lneas que tienen los ficheros que
empiezan por f.
echo cat f* | wc -1 # Contara solo 1 lnea, porque cat f* lo interpreta como un literal que
solo ocupa una lnea.
echo `cat f* | wc l` # Visualizara el nmero de lneas que tienen los ficheros que
empiezan por
Estas consideraciones sobre los entrecomillados se debern tener muy en cuenta en el captulo de
programacin shell, pero es aconsejable que estn claras para entender conceptos y ejemplos
anteriores.