0% encontró este documento útil (0 votos)
569 vistas4 páginas

Ejercicios Prácticos de Shell Script

El documento describe una serie de ejercicios de shell script divididos en seis secciones: 1) básicos, 2) calculadora, 3) banco, 4) demonios, 5) copias y 6) varios. Los ejercicios incluyen scripts para saludar con parámetros, verificar usuarios, realizar cálculos matemáticos, llevar un registro bancario, crear demonios, hacer copias de seguridad y más. El objetivo es practicar diferentes funcionalidades básicas de shell scripting.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
569 vistas4 páginas

Ejercicios Prácticos de Shell Script

El documento describe una serie de ejercicios de shell script divididos en seis secciones: 1) básicos, 2) calculadora, 3) banco, 4) demonios, 5) copias y 6) varios. Los ejercicios incluyen scripts para saludar con parámetros, verificar usuarios, realizar cálculos matemáticos, llevar un registro bancario, crear demonios, hacer copias de seguridad y más. El objetivo es practicar diferentes funcionalidades básicas de shell scripting.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

EjerciciosdeShellScript

01Bsicos
[Link]'[Link]'quemuestreporpantalla"Hola
mundo!".
[Link]"mundo"muestrelosparmetrosintroducidos('02hola
[Link]').
[Link]
('[Link]').
[Link]","('04holaparametros
[Link]').
[Link]('[Link]').
[Link]('06hola
[Link]').
[Link]'usuarioconectado'queretornaunSIsielprimer
parmetrocoincideconalgnusuarioconectadooNOencasocontrario.
[Link]'.bashrc'paramodificarelPATHyaadirlacarpetade
[Link]:export
PATH=$PATH":~/ruta_carpeta_ejercicios"
[Link]'[Link]'paraquellamea'usuarioconectado'
('[Link]').
[Link]'usuariosistema'queretornaunSIsielprimer
parmetrocoincideconalgnusuariodelsistemaoNOencasocontrario.
[Link]'[Link]'paraquellamea'usuariosistema'
('[Link]').
02Calculadora
[Link]'suma'querealicelasumade2parmetros
introducidos(tendrquepodersumarnmerosdecimales,como2.2+3).
[Link]'resta'querealicelarestade2parmetros
introducidos(tendrquepodersumarnmerosdecimales,como2.23).
[Link]'multiplica'quemultipliquelos2parmetros
introducidos(tendrquepodermultiplicarnmerosdecimales,como2.2*3).
[Link]'division'querealiceladivisinde2parmetros
introducidos(tendrquepodersumarnmerosdecimales,como2.2/3).
[Link]'[Link]'querealiceoperacionesbsicasentre
2nmerosllamandoacadaunodelosscriptsanteriormentecreados(suma,
resta,multiplicacinydivisin).
[Link]('[Link]').
[Link]'[Link]'quecalculeelvalorunaexpresin
numricapasadaporparmetro.

Autor:AdolfoSanzDeDiego(asanzdiegoBlog|GitHub|LinkedIn|SlideShare|Twitter)Licencia:CCBYSA

[Link]'[Link]'conlossiguientesdatos:
Pepito3.14.45.7
Fulanito4.26.58.8
Menganito5.35.65.0

[Link]'[Link]'ysucorrespondienteinterfaz'[Link]'para
quealfinalobtengamosalgoparecidoaesto:
++++
|NOMBREEX1EX2EX3|MED|APTO|
++++
|Pepito3.14.45.7|4.4|NO|
|Fulanito4.26.58.8|6.5|SI|
|Menganito5.35.65.0|5.3|SI|
++++
|TOTAL4.25.56.5|5.4|2|
++++

03Banco
[Link]'banco'paraaadir,buscarylistarmovimientos
bancarios,ycalcularelsaldodelacuenta.
[Link]'[Link]'quesirvadeinterfazdel
anterior.
[Link]'[Link]'parapoderusarelscript'banco'
medianteCLI.
04Demonios
[Link]'alerta'queescribalafechacadaXsegundosen
unlogllamado'~/[Link]'.
[Link]'alerta'conlasopcionesbsicas:start,
stop,restartystatus('[Link]').
05Copias
[Link]'copiatotal'queempaqueteycomprimael
contenidodelacarpeta'~/carpeta_a_copiar'enunficherollamado'total
[Link]'enlacarpeta'~/copia_seguridad'.
[Link]'copiadiferencial'queempaqueteycomprimalos
ficherosdelacarpeta'~/carpeta_a_copiar'modificadosdesdelaltimacopia
total(sinoexistecopiatotalnohacernada)enunficherollamado
'[Link]'enlacarpeta'~/copia_seguridad'.
[Link]'copiaincremental'queempaqueteycomprimalos
ficherosdelacarpeta'~/carpeta_a_copiar'modificadosdesdelaltimacopia
incremental(sinoexistecopiaincremental,desdelaltimacopiatotal,ysi
noexistecopiatotalnohacernada)enunficherollamado'incremental
[Link]'enlacarpeta'~/copia_seguridad'.
[Link]'miCrontab'paraqueimprimalafechaenelfichero
'~/[Link]'cadaminuto,yejecutarloconcrontab.

Autor:AdolfoSanzDeDiego(asanzdiegoBlog|GitHub|LinkedIn|SlideShare|Twitter)Licencia:CCBYSA

06Varios
[Link]'[Link]'quedeclareunarray,lorellenecondatos
yluegoiteresobreelmismoparamostrarlosdatos.
[Link]'[Link]'conlossiguientesdatos:
Pepito:Jefe,Sistemas
Fulanito:Jefe,Desarrollo
Menganito:Operario,Sistemas,Desarrollo

[Link]'[Link]',que,sinutilizarawk,alfinal
obtengamosalgoparecidoaesto:
Desarrollo
>FulanitoMenganito
Operario
>Menganito
Sistemas
>PepitoMenganito
Jefe
>PepitoFulanito

[Link]'[Link]'ysucorrespondienteinterfaz'rolescon
[Link]'paraquealfinalobtengamoslomismoqueelejercicioanterior.
[Link]'ordena'quelisteelcontenidodeldirectorio
[Link]
[Link]
casodequeseintroduzcaalgnparmetrosemostrarelsiguientemensajede
error:[Link]
1.
[Link]'jaula'quecree,slosinoexiste,eldirectorio
.jaulaenla$HOMEdelusuarioymuevalosficherospasadosporparmetroa
[Link]
mostrarelsiguientemensajedeerror:Hayqueintroduciralmenosun
[Link]
algnficherointroducidoporparmetronoexistasemostrarelsiguiente
mensajedeerror:Elfichero'$FICHERO'[Link]
[Link]$HOMEdelusuariopero
noesundirectoriomostrarelsiguientemensajedeerror:Elfichero
'$HOME/.jaula'[Link]
3.
[Link]'calendario'alquesipasamoselparmetroco
elparmetrocortamostrarlafechadehoyconelformato$DIA/$MES/$AO
ysilepasamoselparmetrololargamostrarlafechadehoyconel
formatoHoyeselda'$DIA'delmes'$MES'delao'$AO'..Enelcasode
quenoseintroduzcaningnparmetrosemostrarelcalendariodelmes
[Link]
1semostrarelsiguientemensajedeerror:Sloseadmiteunparmetro.y
[Link],
corta,lolargamostrarelsiguientemensajedeerror:Opcin
incorrecta.yretornaruncdigoderetornoiguala2.
[Link]'elevado'quecalculea^b,oseaaelevadoab,
[Link]
queelnmerodeparmetrosintroducidosseamenorque2semostrarel
siguientemensajedeerror:Paraejecutarestescriptsenecesitan2
nmeros.yretornaruncdigoderetornoiguala2.

Autor:AdolfoSanzDeDiego(asanzdiegoBlog|GitHub|LinkedIn|SlideShare|Twitter)Licencia:CCBYSA

[Link]'citas'enelquesepuedanutilizarlas
siguientesopciones:
hhelpParamostraruntextodeayuda.
aaddParaaadirunacitaconHORA_INICIO,HORA_FINAL,yNOMBRE_PACIENTE.
ssearchParabuscarlospacientesquecontenganPATRN.
iinitParabuscarlascitasqueempiecenaHORA_INICIO.
eendParabuscarlascitasqueterminenaHORA_FINAL.
nnameParalistartodaslascitasordenadasporNOMBRE_PACIENTE.
ohourParalistartodaslascitasordenadasporHORA_INICIO.
Paracadaunadelasopcionessecomprobarqueseintroducenelnmerodeparmetros
correctosyconelformatocorrecto.
HORA_INCIOyHORA_FINALsernnmerosenteroscomprendidosentre00y23.
Alintroducirunacitanuevasecomprobarquenosesolapeconotrayaintroducida.
Secomprobartambinquenoserepitaningnnombredepaciente.

[Link]'[Link]'queseaunainterfazdelscript
'citas'motrandounmenconlassiguientesopciones:
[Link].
[Link].
[Link].
[Link].
[Link].
[Link].
[Link].

[Link]'[Link]'parapoderusarelscript'citas'
medianteCLI.
07Bonus
[Link][Link]
enparticular:
1. [Link]
2. [Link]
3. [Link]
[Link][Link]
[Link],en
particular:
1. [Link]
madrid/blob/master/[Link]
2. [Link]
madrid/blob/master/[Link]
3. [Link]
madrid/blob/master/[Link]
4. [Link]
madrid/blob/master/[Link]

Autor:AdolfoSanzDeDiego(asanzdiegoBlog|GitHub|LinkedIn|SlideShare|Twitter)Licencia:CCBYSA

También podría gustarte