guion shell scripting
TRANSCRIPT
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.
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
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
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&.
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