Documente Academic
Documente Profesional
Documente Cultură
> fichero
# output a fichero
>> fichero
> /dev/null
# descarta output
error
2>&1
# error a output
2> fichero
# error a fichero
2>> fichero
2> /dev/null
# descarta error
output y error
2>&1 | tee fichero
&> fichero
# ambos a fichero
&>> fichero
VARIABLES
variables de entorno
$PWD
$OLDPWD
$PPID
$HOSTNAME
$USER
$HOME
$PATH
$LANG
$FUNCNAME
$LINENO
$RANDOM
# nmero aleatorio
variables especiales
$0
${N}
# parmetro N
$$
$!
$@
$#
$? # (0=normal, >0=error)
shift
ARRAYS
declare a ARRAY
# declaracin array
# asignacin compuesta
ARRAY[N]=valorN
# asignacin simple
# asigna celdas N, M y P
${ARRAY[N]}
# valor celda N
${ARRAY[*]}
Licencia: CC-BY-SA
OPERADORES
operadores aritmticos
+
# suma
# resta
# multiplicacin
# divisin
# resto
++
# incremento
--
# decremento
numero1 ne numero2
numero1 lt numero2
numero1 le numero2
numero1 gt numero2
numero1 ge numero2
operadores lgicos
!
# NOT
&& , -a
# AND
|| , -o
# OR
operadores de ficheros
-e fichero
# existe
-s fichero
# no est vaco
-f fichero
# normal
-d fichero
# directorio
-h fichero
# enlace simblico
-r fichero
# permiso de lectura
-w fichero
# permiso de escritura
-x fichero
# permiso de ejecucin
-O fichero
# propietario
-G fichero
# pertenece al grupo
f1 -ef f2
f1 -nt f2
# f1 ms nuevo que f2
f1 -ot f2
# f1 ms antiguo que f2
operadores de cadenas
-n cadena
# no vaca
-z cadena
# vaca
cadena1 = cadena2
cadena1 == cadena2
cadena1 != cadena2
Licencia: CC-BY-SA
ENTRECOMILLADO
#! RUTA
\carcter
linea1 \ linea2
'cadena'
cadena
EXPANSIN
[prefijo]{cad1,[,...],cadN}[sufijo]
${VARIABLE:-valor}
${VARIABLE:=valor}
${VARIABLE:?mensaje}
${VARIABLE:inicio}
${VARIABLE:inicio:longitud}
${!prefijo*}
${#VARIABLE}
${#ARRAY[*]}
# elementos de ARRAY
${VARIABLE#patrn}
${VARIABLE##patrn}
${VARIABLE%patrn}
${VARIABLE%%patrn}
${VARIABLE/patrn/reemplazo}
${VARIABLE//patrn/reemplazo}
$((expresin))
$[expresin]
EJECUCIN
./comando
$RUTA/comando
comando
. script
comando &
c1 | c2
c1 ; c2
# ejecuta c1 y luego c2
c1 && c2
c1 || c2
Licencia: CC-BY-SA
ESTRUCTURAS DE CONTROL
if expresin1; then
bloque1
elif expresin2; then
bloque2
else
bloque3
fi
# condicional
#
si expresin1 entonces
#
bloque1
#
sino y expresin2 entonces
#
bloque2
#
si ninguna entonces
#
bloque2
case VARIABLE in
patrn11|...|patrn1N)
bloque1 ;;
patrn21|...|patrn2N)
bloque2 ;;
*)
bloqueDefecto ;;
esac
# selectiva
#
si VARIABLE
#
entonces
#
si VARIABLE
#
entonces
#
si ninguna
#
entonces
while expresin; do
bloque
done
# bucle mientras
#
se ejecuta bloque
#
mientras expresin sea cierta
until expresion; do
expresion
done
# bucle hasta
#
se ejecuta bloque
#
hasta que expresin sea cierta
[function] expresion () {
... [ return [valor] ] ...
}
# funcin
#
se invoca con
#
nombreFuncin [param1 ... paramN]
INTERACTIVIDAD
read [-p cadena] [variable1 ...]
# input
#
lee teclado y asigna a variables
#
puede mostrarse un mensaje antes
#
si ninguna variable, REPLY = todo
echo cadena
-n no hace salto de linea
-e interpreta caracteres con \
# output
#
manda el valor de la cadena
#
a la salida estndar
printf
CONTROL DE PROCESOS
comando &
bg nmeroProceso
fg nmeroProceso
jobs
exit cdigo
wait [PID1|nmeroProceso1]
Licencia: CC-BY-SA