guion shell scripting

5

Click here to load reader

Upload: lanncet

Post on 07-Jul-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Guion Shell Scripting

8/19/2019 Guion Shell Scripting

http://slidepdf.com/reader/full/guion-shell-scripting 1/5

EJECUCION SCRIPTS.

-tipos de shell sh, bash, ksh

-Primera linea del script

-Permisos antes de eec!tar !n script.-Sin permisos con "so!rce"

- di#erencia entre . .$script %no crea s!bshell& .$script '$bin$bash .$scriptEstablecer a otro (alor la (ariable P)T* en !n script, denominadomodi#ica+P)T*.sheec!tarlo como . .$modi#ica+P)T*.sh ' como .$modi#ica+P)T*.sh ' (er el(alor de la (ariable P)T*

-comentarios con

PERIES %pro#ile&http/$$000.hospedae'dominios.com$mambo$doc!mentacion-man!al+lin!1-pa2ina-345.htmlE1isten tres #icheros en el directorio de !n !s!ario 6!e tienen !n si2ni#icadoespecial para el shell 7ash. Estos #icheros permiten al !s!ario con#i2!rar elentorno de s! c!enta a!tomaticamente c!ando entra en el sistema, c!ando arranca!n s!bshell o eec!tar comandos c!ando sale del sistema.

os nombres de estos #icheros son .bash+pro#ile, .bashrc ' .bash+lo2o!t. Sinin2!no de estos #icheros e1iste en el directorio del !s!ario, $etc$pro#ile es!tili8ado por el sistema como #ichero de con#i2!racion de bash.

.bash+pro#ile es el el mas importante de los tres. Es leido ' los comandosincl!idos en el, eec!tados, cada (e8 6!e el !s!ario entra en el sistema.C!al6!ier cambio hecho en este #ichero no tendra e#ecto hasta 6!e sal2amos 'entremos en el sistema de n!e(o. Una alternati(a para no tener 6!e salir delsistema es eec!tar el comando so!rce .bash+so!rce.

7ash permite dos sinonimos para este #ichero, .bash+lo2in %deri(ado del C shell&' .pro#ile %deri(ado del 7o!rne ' 9orn shell&. Si .bash+pro#ile no e1iste, elsistema b!scara primero .bash+lo2in ' l!e2o .pro#ile. Solamente !no de estos#icheros es leido, en el caso 6!e e1istan sim!ltaneamente.

.bashrc es leido c!ando el !s!ario arranca !n s!bshell, escribiendo por eemplobash en la linea de comandos. Esto nos permite eec!tar di#erentes comandos parala entrada al sistema o para la eec!cion de !n s!bshell. Si el !s!ario necesitalos mismos comandos tanto a la entrada como en s!bshells, podemos incl!ir lasi2!iente linea en .bash+pro#ile/

.bash+lo2o!t es el #ichero leido por 7ash, c!ando salimos del sistema. Podemosde#inir, por eemplo 6!e se borren los #icheros temporales creados en n!estra!ltima sesion o re2istrar el tiempo 6!e hemos estado !tili8ando el sistema.Si .bash+lo2o!t no e1iste, nin2!n comando sera ec!tado a n!estra salida.

:)RI)7ES-Por de#ecto, al#an!mericas ' 2lobales

-(ariables locales con palabra reser(ada "local"- establecer !na (ariable (ariable;(alorno dear nin2!n espacio entre el i2!al ' el nombre-(alor de la (ariable.

- !nset para limpiar !na (ariable.

Page 2: Guion Shell Scripting

8/19/2019 Guion Shell Scripting

http://slidepdf.com/reader/full/guion-shell-scripting 2/5

- mostrar !na (ariable, recomendado entre lla(es echo <=(ariable>- Concatenacion con "?"- @i#erencia entre <p0d <%p0d& <%4?A& <%%4?A&&

<%p0d& ; Bp0dB con tilde in(ertida.<%%4?A&& es e6!i(alente a let, con let no se !tili8a el <, eemplo let

SU);NUERO?D<e1pr A ? D <e1pr A F D

7asic Calc!lator %bc& 1;Becho G4F4A HbcB-NO7RE+IC*ERO;red<%date ?dm'&.con#Kcp $etc$net0ork$inter#aces<NO7RE+IC*ERO-lect!ra de (ariables read -p "ensae de pre2!nta" -n 4 L- tres caracteres.

OPER)CIONES )RITETIC)S.SU) ?REST) -UTIPIC)CION F@I:ISION $O@UO

EJECUCION :)RIOS CO)N@OS- con K comando3KcomandoG

<orden3 MM ordenG - eec!ta la orden 6!e le precede ', si de(!el(e5%1ito&, entonces %' slo entonces& eec!ta la se2!nda orden

<orden3 HH orden G - El operador HH %OR l2ico& eec!ta la primera orden', si sta de(!el(e !na salida no n!la %estado #also&, entonces %' sloentonces& eec!ta la se2!nda orden.

UNCIONES

@e#inicin/#!nction nombre+#!ncin =

lQneas de la #!ncin>

(ariables locales %solo en bash ' ksh&#!nction sal!do =

local NO7RE;"ose"echo "*ola <NO7RE"

>

ESTRUCTUR)S CON@ICION)ES Ii# e1presin3 K then

reali8ar si e1presin3 es (erdaderaeli# e1presinG K then

reali8ar si e1presin3 es #alsa, pero es (erdadera e1presinGeli# e1presin4 K then

reali8ar si e1p3 ' e1pG son #alsas, pero es (erdadera e1presin4else

reali8ar si todas las e1presiones anteriores son #alsas#i

-comparacion de cadenas.-comparacion al#an!merica-test %entre corchetes& <i# test -# #ichK <i# -# #ich K

Test icheros -# #ichero / cierto si el #ichero e1iste

Page 3: Guion Shell Scripting

8/19/2019 Guion Shell Scripting

http://slidepdf.com/reader/full/guion-shell-scripting 3/5

-1 #ichero / cierto si el #ichero e1iste ' es eec!table -r #ichero / cierto si el #ichero e1iste ' se p!ede leer -0 #ichero / cierto si el #ichero e1iste ' se p!ede escribir -d directorio / cierto si el directorio e1iste -s #ichero / cierto si el #ichero e1iste ' no esta (acQo

Operaciones sobre cadenas/

cadena / cierto si no es la cadena (acQa -8 cadena / cierto si la lon2it!d de la cadena es cero -n cadena / cierto si la lon2it!d de la cadena no es cero cadena3 ; cadenaG / cierto si las cadenas son idnticas cadena3 ; cadenaG / cierto si las cadenas son di#erentes

Operaciones sobre nmeros %enteros&/ n!m3 -e6 n!mG / cierto si los dos nmeros son i2!ales n!m3 -ne n!mG / cierto si los dos nmeros son distintos n!m3 -2t n!mG / cierto si n!m3 ma'or 6!e n!mG n!m3 -2e n!mG / cierto si n!m3 ma'or o i2!al 6!e n!mG n!m3 -lt n!mG / cierto si n!m3 menor 6!e n!mG n!m3 -le n!mG / cierto si n!m3 menor o i2!al 6!e n!mG

Combinacin de e1presiones l2icas/ %NOT&, -a %)N@& ' -o %OR&.Eemplo

i# -# <#3 -a -# <#G

ESTRUCTUR)S CON@ICION)ES C)SEcase :)RI)7E in

(alor3&Se eec!ta si :)RI)7E tiene el (alor3KK(alorG&Se eec!ta si :)RI)7E tiene el (alorG

KKF&Se eec!ta si :)RI)7E no tiene nin2!no de los (alores anterioresKKesac

os "KK" hacen de break.

ESTRUCTUR)S ITER)TI:)S OR#or (ariable in con!ntoK do

estas lQneas se repiten !na (e8 por cada elemento del con!nto,' (ariable (a tomando los (alores del con!nto

done

Eemplo3$bin$bash#or dia in l!nes martes mircoles !e(es (iernes sabado domin2oK do

echo el dia de la semana procesado es <diadone

EemploG$bin$bash#or pro2rama in <% #ind V iname WFsh G $de($n!ll &K do

echo WUno de mis scripts / <pro2ramadone

-steps Eemplo/#or I in <% se6 3 4 G5 &K do

echo WNmero (ale / <I

Page 4: Guion Shell Scripting

8/19/2019 Guion Shell Scripting

http://slidepdf.com/reader/full/guion-shell-scripting 4/5

done

-break, break n, contin!e, contin!e n ' e1it n.

ESTRUCTUR)S ITER)TI:)S X*IE UNTI

0hile e1presin K do

estas lQneas se repiten IENTR)S la e1presin sea (erdaderadone

Eemplo/0hile <NUERO -ne 5 K do

 instr!ccionesdone

!ntil e1presin K doestas lQneas se repiten *)ST) 6!e la e1presin sea (erdadera

doneEemplo/!ntil <NUERO -e6 5 K do

 instr!ccionesdone

ESTRUCTUR) SEECT$bin$bashselect OPCION in Chiste Re#rYn Pro(erbio SalirK do

i# <OPCION ; WChiste K then 6!edarQa mYs mono con case claroecho W:an dos por la calle ' se cae el de en medioeli# <OPCION ; WRe#rYn K thenecho WZ!ien crQa c!er(os tendrY m!choseli# <OPCION ; WPro(erbio K thenecho WTen cerca a t!s ami2os, ' m!cho mas cerca a t!s enemi2os

else *a esco2ido Salirbreak#i

done

P)R)ETROS

<3 @e(!el(e el 3[ parYmetro pasado al script o #!ncin al ser llamado.<G @e(!el(e el G[ parYmetro.<4 @e(!el(e el 4[ parYmetro. %Podemos !sar hasta <\&.<=35> tambin es (Ylido.<F @e(!el(e todos los parYmetros separados por espacio.< @e(!el(e el nmero de parYmetros 6!e se han pasado.<5 @e(!el(e el parYmetro 5, es decir, el nombre del script o de la #!ncin.

:)ORES @E:UETOS/<]

@EPUR)CION @E SCRIPTS

set -1 )parece la linea 6!e se estY eec!tando en la propia eec!cinset -( Parecido

C)PTUR) @E SE^)ES - trap "echo _se`al captada, contin!o la eec!cion del 2!ion_ " 3 G 3DCapt!ra las se`ales CTR- %3&, CTR-C %G& o 9I %3D&.

Page 5: Guion Shell Scripting

8/19/2019 Guion Shell Scripting

http://slidepdf.com/reader/full/guion-shell-scripting 5/5

)mpliacin/http/$$000.lin!1topia.or2$online+books$ad(anced+bash+scriptin2+2!ide$inde1.html