REDIRECCIONES output (salida estándar) tee fi fichero
# output a fichero y a pantalla
> fi fichero
# output a fichero
>> fi fichero
# output al final del fichero
> /dev/null
# descarta output
error 2>&1
# error a output
2> fi fichero
# error a fichero
2>> fi fichero
# error al final del fichero
2> /dev/null
# descarta error
output y error 2>&1 tee fi fichero
# ambos a fichero y a pantalla
&> fi fichero
# ambos a fichero
&>> fi fichero
# ambos al final del fichero
!"RI"#$ES varia%les de entorno 'D
# directorio de trabajo actual
O$D'D
# directorio de trabajo anterior
''ID
# identificador del proceso padre
OS*N"+E
# nombre del ordenador
,SER
# nombre del usuario
O+E
# directorio del usuario
'"*
# rutas búsqueda de comandos
$"N-
# idioma para los mensajes
.,NCN"+E
# nombre función en ejecución
$INENO
# número de línea actual (del script)
R"NDO+
# número aleatorio
varia%les espeiales 0
# nombre del script
N
# parámetro N
# identificador del proceso actual
3
# identificador del último proceso
4
# todos los parámetros recibidos
5
# número de parámetros recibidos
6 # (0=normal !0=error)
# códi"o de retorno del último comando
s7i8t
# $=% %=& ''' N$*=N*
"RR"9S delare :a +, + ,,+-
# declaración array
+,,+-;(.alor$ ''' .alorN)
# asi"nación compuesta
+,,+-
# asi"nación simple
+,,+-;(
# asi"na celdas N / y
+,,+-
# .alor celda N
+,,+-<=
# todos los .alores
+utor1 +dolfo 2an3 4e 4ie"o ( asan3die"o asan3die"o 5lo" 5lo"6 67it8ub 7it8ub6 69in:ed;n 9in:ed;n6 62lide2hare 2lide2hare6 6<itter <itter) )
9icencia1 >>5-2+
O'ER"DORES operadores arit?@tios A
# suma
B
# resta
# multiplicación
/
# di.isión
# resto
AA
# incremento
BB
# decremento
operadores o?paraiones nu?@rias numero$ :e numero%
# numero$ i"ual que numero%
numero$ :ne numero%
# numero$ distinto que numero%
numero$ :lt numero%
# numero$ menor que numero%
numero$ :le numero%
# numero$ menor o i"ual que numero%
numero$ :t numero%
# numero$ mayor que numero%
numero$ :e numero%
# numero$ mayor o i"ual que numero%
operadores lFios 3
# N?<
&& G Ba
# +N4
G Bo
# ?,
operadores de 8i7eros Be fichero
# e@iste
Bs fichero
# no está .acío
B8 fichero
# normal
Bd fichero
# directorio
B7 fichero
# enlace simbólico
Br fichero
# permiso de lectura
BH fichero
# permiso de escritura
B fichero
# permiso de ejecución
BO fichero
# propietario
B- fichero
# pertenece al "rupo
f$ Be8 f%
# f$ y f% enlaces mismo archi.o
f$ Bnt f%
# f$ más nue.o que f%
f$ Bot f%
# f$ más anti"uo que f%
operadores de adenas Bn cadena
# no .acía
BJ cadena
# .acía
cadena$ ; cadena%
# cadena$ i"ual a cadena%
cadena$ ;; cadena%
# cadena$ i"ual a cadena%
cadena$ 3; cadena%
# cadena$ distinta a cadena%
+utor1 +dolfo 2an3 4e 4ie"o ( asan3die"o 5lo"67it8ub69in:ed;n62lide2hare6<itter)
9icencia1 >>5-2+
EN*RECO+I$$"DO 53 ,A<+
# ruta al interprete (BbinBbash)
Kcarácter
# .alor literal del carácter
linea$ K linea%
# para escribir en .arias lineas
LcadenaL
# .alor literal cadena
Mcadena
# .alor literal cadena e@cepto C D
E'"NSIPN
# = precad$suf ''' precadNsuf
E+,;+59FB.alor
# si E+,;+59F nula retorna .alor
E+,;+59F;.alor
# si E+,;+59F nula asi"na .alor
E+,;+59F6mensaje
# si E+,;+59F nula mensaje error y fin
E+,;+59Finicio
# recorta desde inicio hasta el final
E+,;+59Finiciolon"itud
# recorta desde inicio hasta lon"itud
3prefijo
# nombres de .ariables con prefijo
5E+,;+59F
# número de caracteres de E+,;+59F
5+,,+-<=
# elementos de +,,+-
E+,;+59F5patrón
# elimina mínimo patrón desde inicio
E+,;+59F55patrón
# elimina má@imo patrón desde inicio
E+,;+59Fpatrón
# elimina mínimo patrón desde fin
E+,;+59Fpatrón
# elimina má@imo patrón desde fin
E+,;+59F/patrón/reempla3o
# reempla3a primera coincidencia
E+,;+59F//patrón/reempla3o
# reempla3a todas las coincidencias
((e@presión))
# sustituye e@presión por su .alor
# sustituye e@presión por su .alor
EEC,CIPN Q/comando
# ejecuta desde directorio actual
R,*"/comando
# ejecuta desde cualquier sitio
comando
# ejecuta si está en el +<8
Q script
# ejecuta e@portando .ariables
(comando param$ QQQ paramN)
# ejecuta de forma literal
Tcomando param$ QQQ paramNT
# ejecuta sustituyendo .ariables
comando &
# ejecuta en se"undo plano
c$ c%
# rediri"e salida c$ a entrada c%
c$ U c%
# ejecuta c$ y lue"o c%
c$ && c%
# ejecuta c% si c$ termina sin errores
c$ c%
# ejecuta c% si c$ termina con errores
"R-,+EN*OS DE $VNE" DE CO+"NDOS hile "etopts Ghs1G option H do case GoptionG in h) 4?I8F9=$ HH s) ar"ument=?<+,7 H 4?I2F+,>8=$ HH J) echo G;n.alidG H return HH esac done
# etops A Wopiones disponi%lesW # mientras haya ar"umentos # seleccionamos # h sin opciones # s con opciones en ?<+,7 # J error
+utor1 +dolfo 2an3 4e 4ie"o ( asan3die"o 5lo"67it8ub69in:ed;n62lide2hare6<itter)
9icencia1 >>5-2+
ES*R,C*,R"S DE CON*RO$ i8 e@presión$U t7en bloque$ eli8 e@presión%U t7en bloque%
else bloque&
8i
# ondiional # si e@presión$ entonces # bloque$ # sino y e@presión% entonces # bloque% # si nin"una entonces # bloque%
ase E+,;+59F in patrón$$QQQpatrón$N) bloque$ UU patrón%$QQQpatrón%N) bloque% UU ) bloque4efecto UU esa
# seletiva # si E+,;+59F # entonces # si E+,;+59F # entonces # si nin"una # entonces
8or E+,;+59F in 9;2<+U do
# iterativa on lista # ejecuta bloque sustituyendo # E+,;+59F por cada elemento de 9;2<+
bloque
done 8or ((e@pr$U e@pr%U e@pr&U ))U do bloque
done H7ile e@presiónU do bloque
done until e@presionU do
coincide con patrones$ bloque$ coincide con patrones% bloque% bloque4efecto
# iterativa on ontador # primero se e.alúa e@p$ # lue"o mientras e@p% sea cierta # se ejecutan el bloque y e@pr& # %ule M?ientras # se ejecuta bloque # mientras e@presión sea cierta
done
# %ule M7asta # se ejecuta bloque # hasta que e@presión sea cierta
<8untion= e@presion () QQQ < return < .alor= = QQQ
# 8uniFn # se in.oca con # nombreKunción Lparam$ ''' paramNM
e@presion
IN*ER"C*I!ID"D read
# input # lee teclado y asi"na a .ariables # puede mostrarse un mensaje antes # si nin"una .ariable ,F9- = todo
e7o cadena Bn no hace salto de linea Be interpreta caracteres con K
# output # manda el .alor de la cadena # a la salida estándar
print8
# output 8or?ateado (i"ual que >)
CON*RO$ DE 'ROCESOS comando &
# ejecuta en se"undo plano
% númeroroceso
# continúa ejecución en se"undo plano
8 númeroroceso
# continúa ejecución en primer plano
Xo%s
# muestra procesos en ejecución
Yill seal ;4$númeroroceso$
# mata proceso(s) indicado(s)
eit códi"o
# salir con códi"o de retorno # (0=normal !0=error)
trap
# ejecuta comando cuando seal(es)
Hait <;4$númeroroceso$=
# espera hasta fin proceso(s) hijo(s)
nie n prioridad comando renie n prioridad comando
# ejecuta comando con prioridad L%0B$OM # modifica prioridad comando L%0B$OM # %0 má@ima prioridad y $O mínima
+utor1 +dolfo 2an3 4e 4ie"o ( asan3die"o 5lo"67it8ub69in:ed;n62lide2hare6<itter)
9icencia1 >>5-2+