Programación de la Shell de Linux - Fco. Manuel Maestre Alamo

Descripción

Apuntes esquematizados de Programación de la Shell de Linux
Francisco Manuel Maestre Alamo
Apunte por Francisco Manuel Maestre Alamo, actualizado hace más de 1 año
Francisco Manuel Maestre Alamo
Creado por Francisco Manuel Maestre Alamo hace más de 2 años
9
0

Resumen del Recurso

Página 1

Caracteres especiales para la Shell

*    Comodín de cualquier grupo de caracteres ¿    Comodín de cualquier carácter simple. [..]    Rangos de selección ;    Separador en el agrupamiento de órdenes <    Redireccionamiento de entrada >    Redireccionamiento de salida >>    Añade a la salida al “archivo” reseñado 2>    Envía los mensajes de error al “archivo” indicado 2>>    Añade los errores al archivo especificado |    Encauzamiento de órdenes &    Ejecución en segundo plano =    Asignación de valores a variables $    Valor o contenido de una variable `..`    Ejecución previa de la orden incluida \    Eliminación de interpretación del carácter siguiente ‘..’    Eliminación de interpretación de todo lo incluido “..”    Eliminación de interpretación salvo $ \ ‘ “

Página 2

Variables de Entorno

HOME   Nombre del directorio con la cuenta del usuario PATH   Un conjunto de nombres de directorio separados por el símbolo : en los que buscar los comandos LOGNAME     Nombre del usuario SHELL   Nombre completo del shell que se está utilizando TERM   Tipo de terminal que se está utilizando

Página 3

Variables locales

PPID   Número identificador del proceso padre PWD   Nombre del directorio de trabajo actual OLDPWD   Nombre del anterior directorio de trabajo antes de ejecutar por última vez el comando cd RANDOM   Un número entero generado al azar PS1   Cadena que presenta el shell cada vez que solicita un comando PS2   Cadena que presenta el shell cada vez que solicita la continuación de un comando que ocupa varias líneas de pantalla  

Página 4

Consulta avanzada de variables

${v}   Idéntico a $v. Se utiliza en los casos de ambigüedad ${#v}   Número de caracteres de la cadena que contiene v ${#v[*]}   Número de elementos del vector v ${v-c}   Si v ha sido definida su valor, en otro caso c ${v=c}   Si v ha sido definida su valor, en otro caso le asigna ahora el valor c ${v+c}   Si v ha sido definida c, en otro caso la cadena vacía ${v?c}   Si v ha sido definida su valor, en otro caso se muestra en la salida de errores la cadena c y termina la ejecución del shell script ${v:+c}    ${v:=c}    ${v:-c}   ${v:?c}   Similar a los modos de consulta en que no aparece el símbolo :,  pero a las variables además de estar definidas se les exige que el valor que contienen no sea la cadena vacía. ${v#p}    ${v##p}   El valor de la variable, pero eliminando del mismo todos los caracteres iniciales que encajen en el patrón p. Si usamos # se elimina la subcadena más corta y si usamos ## se elimina la más larga. ${v%p}   ${v%%p}      Similar a ${v#p} y ${v##p} pero eliminando la subcadena por el final. ${v:ini:num}   Extrae num caracteres de la variable v a partir de la posición ini

Página 5

Variables especiales

$$         Número de proceso del shell script en el que se está utilizando $0         Nombre completo del shell script en que se está utilizando $1..$9   $n hace referencia al n–ésimo argumento de la línea de comandos $?         El código de retorno del último comando ejecutado $#         Número de argumentos $*         La lista de todos los argumentos

Página 6

-            Menos unario !            Negación lógica * / %     Multiplicación, división y resto + -         Suma y resta <= >= < >   Operadores relacionales == !=      Igualdad y desigualdad =            Asignación a variable &&         Y lógico ||          O lógico

Comando let

Página 7

Comando expr

+      Suma -      Resta \*    Multiplicación \ /    División %     Resto

Página 8

Comando test

FICHEROS -e fichero   Cierto si existe fichero -r fichero   Cierto si se tiene permiso de lectura en el fichero -w fichero  Cierto si se tiene permiso de escritura en el fichero -x fichero   Cierto si se tiene permiso de ejecución en el fichero -d fichero   Cierto si fichero existe y es un directorio -f fichero   Cierto si fichero existe y no es un directorio -h fichero   Cierto si fichero existe y es un enlace simbólico -c fichero   Cierto si es un fichero especial de caracteres -b fichero   Cierto si es un fichero especial de bloques -s fichero   Cierto si el tamaño de fichero es > 0 (es decir, no está vacío) CADENAS -n c   Cierto si existe la cadena c -z c   Cierto si la cadena c está vacía (la longitud de la cadena no es cero) c1 = c2   Cierto si las dos cadenas son iguales c1 != c2   Cierto si las dos cadenas son diferentes ENTEROS e1 -eq e2   Cierto si los dos enteros son iguales (e1=e2) e1 -ne e2   Cierto si los dos enteros son diferentes (e1e2) e1 -gt e2   Cierto si e1 es mayor estricto que e2 (e1>e2) e1 -ge e2   Cierto si e1 es mayor o igual que e2 (e1>=e2) e1 -lt e2   Cierto si e1 es menor estricto que e2 (e1 < e2) e1 -le e2   Cierto si e1 es menor o igual que e2 (e1 <=e2) EXPRESIONES (LOGICOS) ! exp   Cierto si la expresión e es falsa (es decir, invierte el sentido de la opción) exp1 -a exp2   Cierto si las dos expresiones son ciertas Exp1 -o exp2   Cierto si la primera o la segunda expresión o ambas son ciertas \( exp \)   Los paréntesis se usan para agrupar expresiones y cambiar el orden de evaluación

Página 9

case..in..esac

case e in    p1,1 | p1,2 | … | p1,n1 ) lista de comandos ;;    p1,1 | p1,2 | … | p1,n2 ) lista de comandos ;;    …    pm,1 | pm,2 | … | pm,n1 ) lista de comandos ;;    *) Lista de comandos;; esac

Página 10

if .. then .. fi

if l1 then     l2 elif l3 then     l4 elif l5 then     l6 … else     ln fi

Página 11

for..do..done

for v in c1 c2 … cn do     lista de sentencias done   for v in {valor_inicial … valor_final} do     lista de sentencias done for v {valor_inicial … valor_final..incremento} do     lista de sentencias done   for v (( EXP1; EXP2; EXP3 )) do     lista de sentencias done   for (( ;  ; )) do     sentencias done  

Página 12

while l1 do      l2 done

while..do..done

Página 13

until..do..done

until l1 do      l2 done

Mostrar resumen completo Ocultar resumen completo

Similar

TIPOS Y CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
vic m
Hadware de red
Esmeralda Perez
TIPOS Y CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
LEIDY MELO
Inglés - Verbos Compuestos I (Phrasal Verbs)
maya velasquez
Inglés - Verbos Compuestos I (Phrasal Verbs)
Virginia León
MAPA METAL.
victorsquad99
LAS TIC APLICADAS A LA INVESTIGACIÓN
tereacevedobtr
FLIPPED CLASSROOM (aula invertida)
VIRGINIA GARCÍA BAENA
ISLAM
Joan Sempere
MAPA DE NAVEGACIÓN UNIMINUTO
Maria Alejandra Osorio Jimenez
CUADRO SINÓPTICO DE LOS TRASTORNOS DE LA PERSONALIDAD
yonaidy granados