2011 - guia entorno bash y shell scripting en linux[1]
TRANSCRIPT
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
1/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 1
SISTEMAS OPERATIVOSGUIA PRCTICA:
LINUX: Entorno y Shell scripting
Material de consulta y bibliografa
Pgina Web de la Ctedra. Pginas man de LINUX Internet. http://dymas.ii.uam.es/~flh/macprog/bash.pdf
Introduccin
El objetivo de esta gua es primero presentar al alumno herramientas bsicas parapoder usar los comandos disponibles dentro de un entorno LINUX, como as tambin,la automatizacin de tareas mediante la escritura de scripts utilizando dichoscomandos. Sus usos reales, sern demostrados mediante ejemplos.
Se recomienda, aunque no es requisito, tener una mquina virtual ejecutando LINUXmientras se sigue la gua, de esta manera el alumno podr ir probando los distintosejemplos propuestos.
Primeros pasos en el entorno LINUX
Al iniciar el sistema operativo de la mquina virtual, lo que se realiza es el proceso dearranque o booteo. Esto no slo en la mquina virtual, cualquier sistema operativo(ya sea virtualizado o nativo), en este caso Linux, realiza el proceso de booteo.
Por pantalla podr ver el mensaje con el informe del estado por la carga einicializacin de los diferentes procesos y dispositivos.
Cuando se han cargado y ejecutado todos los procesos necesarios para lainicializacin del sistema, podr ver la pantalla de login o acceso, en la que se deberautenticar con un usuario y una palabra clave.
Para iniciar:
usuario: so2011password: so2011(usuario sin privilegios de administrador)
usuario: rootpassword: root(usuario con privilegios de administrador)
A continuacin, se presenta un ejemplo de la pantalla de login.
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
2/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 2
Con CTRL + ALT F1 hasta F6 puede ver las terminales disponibles identificadas con
tty#. (Con F7 regresa a la pantalla inicial con entorno grfico).
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
3/21
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
4/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 4
Cada usuario tiene un directorio dentro de home, donde guardan sus archivos ytambin tiene la configuracin personalizada de cada uno.
/ root Es el directorio home del usuario administrador del sistema, root.
/ usr Contiene varios subdirectorios, contiene aplicaciones de usuario.
Tambin documentacin, cdigo fuente, libreras, etc. Algunos ejemplos son:
/bin gran parte de los comandos/include archivos cabecera para programacin en C y C++
/ proc Informacin propia del sistema.
Se actualiza y genera dinmicamente.
Ejecutar ls F en /proc
- los subdirectorios identificados por nmeros corresponden a los PID de losprocesos :
ingrese alguno de estos subdirectorios (cd) ejecute #more status (podr ver el nombre del proceso y el estado)
- more /proc/interrupts
Columna 1: identifica el nmero de IRQ (Interrupt Requests)Columna 2: identifica a la CPU (si fueran ms CPUs, por c/u se ve unacolumna). Por cada IRQ muestra el nmero propio de la interrupcin asociadoa la CPU.
Si slo tenemos una CPUColumna 3: es el tipo de interrupcinColumna 4: el dispositivo en que se localiza esa IRQ.
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
5/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 5
Comandos Bsicos
Para acceder a la ayuda o manual de Linux se utiliza el comandoman:
Por ejemplo para consultar todas las pginas del manual acerca del comando exit:
#man a exit (con q , se pu ede ca mbiar de sec ciones)
Para conocer las diferentes secciones del manual
#man man
Comandos bsicos (ls, grep, etc) System calls Etc.
Otra forma de obtener ayuda sobre los distintos comandos es haciendo.
#nombre-comando - -help (ejemp lo: man - -help)
O tambin:
#info nombre-comando (ejemplo: info man)
Para recorrer y navegar por el rbol de directorios:
Verificar en qu directorio se encuentra Ud. Actualmente, ejecutar:
#pwd
Cambiar al directorio /usr/bin
# cd / usr/ bin
Cambiar al directorio padre de /bin
#cd ..
El parmetro del comando cd .., sube un nivel en la jerarqua de directorios.
Para probar los comandos en conjunto, vuelva a /usr/bin y luego cambie al directorio
home del usuario root.
#cd bin#pwd#/ usr/ bin#pwd#/ root
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
6/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 6
Repasando lo anterior, se puede conocer la jerarqua de directorios de Linux con
#man hier
Para trabajar con directorios y su contenido:
Mostrar un listado del contenido del directorio /usr
#ls /usr (tener en cuenta que si no se especifica un directorio en particular, el comandomuestra el contenido del directorio actual)
Al ejecutar la siguiente accin:
#ls l / usr
Linux mostrar los archivos en formato largo (nombre, fecha, atributos, etc)
-[- - -] [- - -] [- - -], cantidad de enlaces, usuario propietario, grupo propietario, tamao,fecha y hora ltima modificacin.
Significado de la estructura de permisos:- tipo (d: directorio, - archivo regular, l link)
[- - -] permisos del propietario del recurso (archivo o directorio)[- - -] permisos del grupo[- - -] permisos de otros
Los valores de los permisos estn entre []r: lectura
w: escriturax: ejecucin
El comando ls acepta muchos parmetros que modifican su funcionamiento. Porejemplo, para mostrar el contenido del directorio /usr/include y el de sus subdirectoriosen caso de tenerlos (listar en forma recursiva) se puede ejecutar:
#ls R / usr/ include
Mostrar el contenido del archivo /etc/passwd.
# more / etc/ passwd
Modificar la hora a 12:30:
#date s 12:30...# date
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
7/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 7
Muestre el contenido de las siguientes variables de entorno: directorio del usuariodesde donde ejecutar el shell cuando ingrese al sistema, nombre de la mquina en laque est trabajando, paths de aquellos directorios a los que el usuario tiene accesodirecto. (HOME, HOSTNAME, PATH)
#echo $nombre_de_variable
Puede consultar los nombres de las variables en man(7) environ
Ejemplos de otros comandos: clear, echo, cat,..
Gestin de archivos y directorios
Verificar de qu tipo es un archivo dado:
#file / etc/ passwd#/ etc/ pa sswd: ASCII text
#file / usr/b in/gettext.sh.. Bourne Shell script text executable
#file / usrdirectory
#file / root/molclock.cASCII C program text
Crear un archivo vaco en el directorio /tmp llamado cualquiera
#touch / tmp/ cualquiera
Renombrar el archivo cualquiera del directorio /tmp, como clave, y mover el archivoclave al directorio raz.
#mv / tmp/cualquiera / tmp/c lave#ls / tmp pa ra verificar#mv / tmp/ clave /#ls / tmp ... verifico#ls / ...verifico.
Crear el siguiente directorio: /tmp/so/prctica
#mkdir p / tmp/ so/ practica
El parmetro -p crea los directorios intermedios.
Copiar al directorio creado anteriormente, el archivo clave que se encuentra en eldirectorio raz.
#cp /c lave /tmp/ so/ prac tica
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
8/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 8
Listar el contenido del directorio /tmp/so en forma completa. Luego, borrar dichodirectorio.
#ls R / tmp/ so (lista tamb in el c ontenido d e los subd irec torios, para borrarlo deb eesta r vac o).
#rm / tmp/so/ prac tica / * ( rm sin pa rmetros elimina sin consulta r)#rmdir / tmp/ so/ prac tica#rmdir / tmp/ so#ls / tmp
Buscar archivos respondiendo a las siguientes condiciones:
Todos los archivos que comiencen con man
#find / -type f -name man*
Muestrar en orden alfabtico las lneas del archivo /etc/passwd
#sort / etc/ pa sswd
Gestin de Procesos
Mostrar el estado de los procesos activos:
#ps
Ejecutar la siguiente instruccin, verificar cul es el id del proceso y luego matar elproceso.
# yes > / dev/ null ps#kill 9 [id]
En este caso, el smbolo & significa que el proceso se va a generar en background (esdecir en segundo plano, a pesar de que el shell sea liberado es decir ver el smbolodel prompt y podr ejecutar otro comando como ps- mientras que el proceso generadopor yes se sigue ejecutando).
Otra forma de obtener informacin sobre procesos:
#vmstat
procs:r nmero de procesos esperando su tiempo de ejecucinb nro de procesos en espera ininterrumpible
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
9/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 9
memory:swpd: memoria virtual empleada (kB).free: memoria inactiva (kB).buff: memoria usada como bferes (kB).
swap
si: Cantidad de memoria swapped desde disco (kB/s).so: Cantidad de memoria swapped al disco (kB/s).
IObi: Bloques enviados a un dispositivo de bloques (bloques/s).bo: Bloques recibidos desde un dispositivo de bloques (bloques/s).
Systemin: El nmero de interrupciones por segundo, incluyendo al reloj.cs: El nmero de cambios de contexto por segundo.
stos son porcentajes de tiempo total de CPU.
us: tiempo de usuariosy: tiempo de sistemaid: tiempo de inactividad
Gestin de usuarios
Generar los siguientes usuarios:
Nombres: usuario1 y usuario2Grupos: com_tarde y com_noche
Cada usuario tendr como grupo principal a los Grupos indicados respectivamente.
A cada usuario se le generar un directorio propio en /home con el nombre de cadauno y adems cada grupo tendr un directorio dentro de /home
#groupadd com_tarde#groupadd com_noche
(con el comando groups se puede ver cul es el grupo de un usuario determinado)(generar los usuarios asociados a cada grupo)
#useradd g com_tarde usuario1#useradd g com_tarde usuario2
-g indica que el usuarioX tiene como grupo principal al grupo indicado.
(asignar las claves a cada usuario)
#passwd usuario1#passwd usuario2
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
10/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 10
(crear los directorios de trabajo correspondientes)
#mkdir / home/ com_noche#mkdir / home/ com_tarde#mkdir / home/ usuario1#mkdir / home/ usuario2
Permisos
Tener en cuenta que los permisos son:
- a nivel archivo:r : lecturaw: escriturax: ejecucin
- a nivel directorio:r: listar contenidow: borrar o crear archivosx: navegar por el directorio, es decir ingresar y moverse a lossubdirectorios.
Verificar los permisos de los directorios /home/com_noche y /home/com_tarde
(ubicarse en el directorio /home)
#ls l
Puede ver que los permisos para los directorios de ambas comisiones son lossiguientes:
d[rwx][r-x][r-x] ,el propietario (root) tiene todos los permisos,
el grupo (root) lectura y ejecuciny el resto de los usuarios lo mismo que el grupo.
Recordar que si Ud. est con login root, al ejecutar el comando groups podr ver cules el grupo del usuario.
Asignar slo permisos de lectura y ejecucin en cada carpeta que corresponde agrupos diferentes para todos los usuarios.
#chmod 555 /home/ com_noche (por ejemplo)
Ejecutar nuevamente ls l y verificar que se haya modificado.
De este modo, ningn usuario podr borrar ni crear archivos dentro de esa carpeta.
Ingresar en una nueva sesin (CTRL + ALT + F1) con el usuario creado (realice lomismo con CTRL + ALT+ F2 y el otro usuario para volver a la primera sesin CTRL +ALT + F7).
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
11/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 11
Verificar cuntos usuarios estn en el sistema y luego mostrar por pantalla de lasesin que se encuentra qu usuario es Ud. Podr verlo con los comandos siguientes:
#who
#whoami
Gestin del file system
Crear un sistema de archivos EXT2 en un diskette:
#mkfs t etx2 /dev/ fd0
Copiar el archivo /etc/passwd al diskette:
#mount / dev/ fd0 / mnt
mensaje / dev/ fd0 est mo ntad o en el direc torio /m nt pa ra lec tura escritura (pued eser slo para lec tura con la op cin r)
#cp / etc/pa swd /mnt#umount / dev/ fd0
Utilizacin avanzada de comandos
Caracteres comodines:
*: representa 0 o ms caracteres cualquier cosa puede ir ah
Ir al directorio /usr/bin y ejecute
ls d *ls d*e
?: representa cualquier carcter simple
crear los siguientes archivos: a1 a2 a3 a4 a5 a6 a7 en el directorio /tmp y llenarlos concualquier contenido
cd / tmptouch a 1 a2 a3 a4 a5
ejecutar:
ls a?
[ ]: cualquier carcter simple pero con mayor exactitud.
ls a[42]
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
12/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 12
ls a[3-5]
[!]: Igual a lo anterior, pero coincidir con cualquier carcter que no est en la lista
ls a[!2]
Redirecciones y tuberas:
Entrada estndar (descriptor de archivo 0) por defecto asociado al tecladoSalida estndar (descriptor de archivo 1) por defecto asociado a la pantallaError estndar (descriptor de archivo 2) por defecto asociado a la pantalla
Redireccin de Entrada Estndar:
igual que el anterior, salvo que si el archivo existe la salida se aade al contenidode dicho archivo.
ls / usr/inc luye >> ejecutables
| la salida del comando se emplea como entrada del comando especificado acontinuacin (pipes o tuberas)
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
13/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 13
ls /usr/ bin | sort | pg
Redireccin de Error Estndar:
2> redirige la salida de errores:
ls /usr/cuanto
ls / usr/c uanto 2> e rror_ls
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
14/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 14
El intrprete de comandos
Para comenzar a trabajar en Linux (como ya habamos visto) deber ingresar:o Nombre de usuario: (so2011 o root en este caso)o Clave: (so2011 o root tambin)
Cada usuario tiene asignado un directorio de trabajo y un Shell o intrprete decomandos.
El Shell acepta instrucciones o comandos y los traduce a lenguaje binario nativo. Es elambiente para la interaccin del usuario.
Esto es lo que hace:
Qu es el Shell?
Es el proceso que recibe lo que se escribe en la terminal y lo convierte eninstrucciones para el sistema operativo. Es decir, es el intrprete de comandos.
Para indicar que se encuentra a la espera de una orden, el sistema operativo muestraun smbolo llamado prompt (habitualmente # para el administrador del sistema root-y $ para los usuarios sin privilegios de administrador)
Hay varios tipos de shell, varan de acuerdo a las facilidades que ofrecen. En esta guase hablar de Bash. (Existen otros como por ejemplo PERL)
... para conocer que shell est utilizando un usuario determinado:
#echo $SHELL
... para investigar un poco ms:
#man bash
Para la creacin o escritura de un script o programa en lenguaje C, se puede usarcualquier editor de textos ordinario con que Ud est familiarizado.
Qu es un Script:
Es un archivo de texto con un encabezamiento que indica cul es el intrprete decomandos que utiliza. Este archivo, contiene una serie de comandos quehabitualmente son necesarios ejecutar en forma repetida y en conjunto.
Comandoo ShellScript
Linux ShellEl Shell convierte aLenguaje Binario
Ahora, el Kernel deLinux entiende el
re uerimiento
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
15/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 15
En la distribucin de LINUX que brinda la ctedra (Debian), estn disponibles loseditores vi, vim, mc y joe pero Ud. puede usar la distribucin y el editor que desee.
Vi o vim, es el ms utilizado en Unix/Linux. Existen diferentes modos de uso en vi.
modo comando: las letras realizan acciones: desplazar, recorrer, salir del editor.
Modo inicial de vi
modo texto o modo insercin: las teclas ingresan caracteres en el texto.
modo ltima lnea o ex: las teclas permiten escribir comandos en la ltima lnea.
Algunos comandos tiles:
vi archivo_texto: inicia en modo comando editando el archivo archivo_textoi : inserta texto a la izquierda del cursora : inserta a la derechaESC : vuelve a modo comandox : borra el carcter bajo el cursordd : borra una lneah : mueve el cursor un carcter a la izqj : mueve el cursor un lnea hacia abajok : mueve el cursor una lnea hacia arribal : mueve el cursor un carcter a la derecha:w : graba el archivo:q : sale del editor (debe grabarse primero)
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
16/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 16
Joe: algunas opciones:
CTRL + KH (ingresa a las opciones del editor)
CTRL+ KZ vuelve al shell
Otro editor es: mc (midnight commander) es ms un administrador de archivos que uneditor. Con diversas funcionalidades entre ellas F3/F4 para ver/editar archivos.
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
17/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 17
Todos estos editores estn disponibles en entorno terminal de caracteres. En modogrfico, existe un editor potente llamado gedit. Cuenta con la facilidad y el uso intuitivodel entorno grfico y con las funcionalidades usuales de cualquier editor similar.
En el editor que Ud elija, basta con crear un archivo de texto plano con la sintaxisadecuada para cada caso.Por convencin, para crear scripts el nombre de este archivo de texto debe terminarcon .sh, por ejemplo: script.sh.
En el caso de querer crear un programa en C el nombre de este archivo de texto debeterminar con .c, por ejemplo: programa.c.
El contenido del archivo debe obedecer la sintaxis adecuada en cada caso sobre todo,en el caso del lenguaje C para poder ser compilado.
Creando SCRIPTS
Generar el siguiente archivo, llamado caso1.sh
#!/bin/bash#es una pruebaecho primer script
Otorgue permisos de ejecucin. Verifique que permisos tiene el archivo:
#ls l caso1.sh
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
18/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 18
-[r w -] [r - -] [r - -][- - -] propietario[- - -] grupo[- - -] otros
una forma de especificar los permisos es con una secuencia de un nmero octal detres dgitos.
En este caso para dar permisos de ejecucin a todos (propietario, grupo, otros)
#chmod 755 caso1.sh
#chmod +x caso1.sh
Ejecute el script:
#./caso1.sh
Elementos para el desarrollo de un script:
1- Variables:
Para definir variables, se escribe su nombre y el valor. (Recordar que existen variablesde entornos predefinidas man 7 environ)
#clase=2#echo $clase#echo esta es la clase nro: $clase
2- Paso de argumentos en la lnea de comandos.
Existen variables predefinidas:
$0: almacena el nombre del script$1: el primer parmetro pasado al script$2: el segundo, y as....
Generar el siguiente script: caso2.sh
#!/bin/sh#paso de parmetros
echo Este es el script: $0echo Hoy es: $1echo Clase de: $2echo todos los parmetros: $* ... muestra todos los parmetros(otro $# cantidad de parmetros)
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
19/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 19
Ejecutar de la siguiente forma:
#./caso2.sh jueves prctica
3- Ingreso de datos:
Para que el usuario ingrese algunos datos, se puede utilizar el comando read (ingresode datos en variables)
read [variable]
Modificar el caso2, para que en vez de pasar los datos como parmetros al scritp, stemuestre los mensajes solicitando qu da tiene clase de prctica y lo informe.
#!/bin/sh#ingreso de datos
echo e \nIngrese el da que tiene prcticaread dia
echo e \nUd tiene prctica el da $dia
4- Evaluacin de expresiones, algunos operadores:
- + suma y resta! negacin* / % multiplicacin, divisin y resto= < > comparaciones== != igualdad, desigualdad& AND^ OR exclusivo| OR&& AND lgico|| OR lgico
5- Evaluacin de archivos o directorios:
-d si el archivo es un directorio-f si es un archivo comn-r si tiene activo el permiso de ejecucin-w permiso de escritura activo-x permiso de ejecucin activo.
6- Estructuras de control.
Algunos tipos de estructuras son: if, while, for, case
If lista_de_expresionesthen lista_de_sentencias[elif lista_de_sentencias
then lista_de_sentencias]
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
20/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 20
while lista_de_expresionesdo expresionesdone
for variable in word...
do lista_de_expresionesdone
Generar los siguientes scripts y ejecutarlos:
1. caso3.sh
#!/bin/bash#uso while
#para que el ciclo se cumpla la primera vezopcion=3
while [ $opcion != 0 ]doecho e \nIngrese un nmero [ 0 para salir ]:read opciondone
2. caso4.sh
#!/bin/bash#uso for
for x in a e i o udoecho e \nVocales: $x
done
Ejercicios para resolver:
1 ejem1
El script recibe como parmetro el nombre de un directorio (/usr por ejemplo)
Deber almacenar en el archivo contenido todos los nombres de archivos y en casode tener, tambin los nombres de archivos de sus subdirectorios.
# !/bin/b ash# redireccin de salida
ls R $1 > co ntenid o
-
7/31/2019 2011 - Guia Entorno Bash y Shell Scripting en LINUX[1]
21/21
LINUX: Entorno y Shell scriptingUniversidad Tec nolgica Nac ional - Facultad Regiona l Santa Fe
Sistemas Operativos | LINUX: Entorno y Shell scripting 21
2 ejem2
El script leer por pantalla un valor, si ese nmero es distinto a 15 mostrar unmensaje diciendo el valor no es igual a 15 en caso contrario dir que es igual
# !/bin/b ash
# Uso d e e structura c ondic iona lec ho e \ nIngrese un nmero: rea d numeroif [ $numero = 15 ]then
ec ho e \ nEl nmero es igua l a 15else
ec ho e \ nEl nmero $numero es distinto de 15fi