Anda di halaman 1dari 5

Condiciones Podemos tener condiciones aplicadas a valores de texto o valores numricos. Condiciones con texto: [ $a = $b ] igualdad [ $a =!

$b ] desigualdad [ $a \< $b ] menor que, orden alfabetico [ $a \> $b ] mayor que, orden alfabetico [ -z $a ] es verdadero si la variable esta vacia [ -n $a ] es verdadero si la variable contiene algo Condiciones con enteros [ $a -eq $b ] igualdad [ $a ne $b ] diferentes [ $a -gt $b ] mayor que [ $a -lt $b ] menor que [ $a -ge $b ] mayor o igual que [ $a -le $b ] menor o igual que Condiciones sobre archivos [ -e archivo ] existencia [ -d archivo ] es directorio [ -L archivo ] es enlace [ -r archivo ] tiene permiso de lectura [ -x archivo ] tiene permiso de ejecucion [ -w archivo ] tiene permiso de escritura [ -h archivo ] es enlace duro

Script
Un script es un archivo de comandos que la consola interpreta y ejecuta. Ejecucin del script Primero es necesario darle permiso de ejecucin sobre el script a todos los usuarios que se desee que puedan ejecutar el script. Despus se puede ejecutar este de dos maneras diferentes: Si estamos ubicados en el mismo directorio en el cual se encuentra el archivo script podemos ejecutar nuestro script con la instruccin ./nombreScript. Si estamos ubicados en un directorio diferente al directorio donde tenemos almacenado el script y deseamos ejecutarlo podemos utilizar la ruta absoluta del script. Por ejemplo /home/mario/script Para agregar comentarios dentro del script escribimos un signo # al inicio de la lnea, de manera automtica el sistema detecta el mismo y dicha lnea no ser tomada en cuenta cuando se lleve a cabo la ejecucin de las instrucciones. Definicin de variables Una variable es un nombre simbolico que almacena un valor, valor que podemos variar segn sea necesario con datos diversos. Para definir una variable nicamente escribimos el nombre de la variable, un singo de = y el valor que va a contener la variable. Por ejemplo STR=uno, con lo cual estamos declarando la variable STR y esta contiene la cadena uno para utilizarla cuando nosotros lo deseemos.

Para la utilizacin del valor que contiene la variable, es necesario anteponer un signo de $ al nombre de la variable. Por ejemplo echo $STR muestra en pantalla la cadena uno en lugar de la cadena $STR (es decir muestra el valor de la variable). Es aconsejable utilizar nombres en mayscula para las variables, para evitar que algn nombre coincida con el de una palabra reservada del sistema. Argumentos Por defecto en los script podemos trabajar con algunos datos que llamaremos argumentos, sin necesidad de declarar variables, mas bien son datos que automticamente el sistema agrega con la declaracin de los script. Dentro de estos argumentos tenemos: $0 -> guarda el nombre del script, $1-$9-> son los primeros 9 argumentos que se le envan al script (figura argumentos), $#-> nos indica cuantos argumentos esta recibiendo el script y $* o $@ nos devuelve todos los argumentos que se le enviaron al script, empezando por $1.

El condicional IF tambin puede tener un caso que ser ejecutado cuando la condicin resulte ser falsa, en dicho caso la estructura es la siguiente: if [ condicin ]; ->condicin a cumplir then Comandos -> si la condicin se cumpla se ejecutan estos comandos else -> si la condicin no se cumple Comandos -> si la condicin no se cumple se ejecutan estos comandos fi -> cerramos el condicional Se pueden anidar tantos if dentro de un if como se desee, para cuyo caso se puede utilizar la forma abreviada del if con el else de la siguiente forma: if [ condicin ] -> condicin inicial then Comandos

Estructuras aplicables a los script Condicional -> IF La estructura bsica del condicional IF es la siguiente: if [ condicin ]; ->damos la condicin que se deber cumplir then comandos -> se brindan los comandos que se deben ejecutar en caso de que la condicin se cumpla fi -> cerramos el condicional

elif [ condicin ] -> condicin en caso de ser falso then Comandos fi -> cierre del elif fi -> cierre del if inicial

Estructura de casos CASE La estructura bsica del case es la siguiente: case variable -> variable a evaluar para los casos in Caso1) -> primer opcin de la variable Comandos;; Caso2) -> segunda opcin de la variable Comandos;; *) -> caso por defecto, solo se ejecuta si no se ejecuta alguno de los otros casos Comandos;; esac -> cierre del case El case funciona para evaluar opciones posibles dentro de una variable y que segn sea el valor de la variable se ejecuten una serie de instrucciones. En caso de que ningun caso sea el que este definido segn las opciones, se ira al caso por defecto. Los valores a evaluar dentro de los casos pueden ser valores numricos o cadenas de texto. Ciclo condicional WHILE La estructura bsica del condicional while es la siguiente: while [ condicin ] -> condicin a validad do Comandos -> los comandos se ejecutan nicamente si la condicin se cumple done Los comandos se ejecutan siempre y cuando la condicin se cumpla, en caso de que no se cumpla la condicin no se ejecutan los comandos y termina el condicional while. Las condiciones pueden ser las condiciones con valores numricos, archivos o con texto. Es importante variar el valor contenido en la condicin para evitar que el while se ejecute hasta el infinito. Editor vi Insertar datos tecla Insert del teclado tecla x, se borra el carcter

si se presiona 2 veces consecutivas la tecla d, se eliminar la lnea completa donde se encuentre el cursor. Para activar el modo de comandos de este editor de lnea, se presiona la tecla : para salir de vi sin grabar en disco se debe escribir :q! eliminar 3 lneas de texto, con el comando 3dd se puede realizar en vez de ejecutar dd 3 veces. I=Ingresar al modo insercin. r=Ingresar al modo insercin (reemplazo).
Insertar antes del cursor, antes de la lnea i, I

cw =Reemplazar hasta el final de palabra. D=Borrar desde el cursos hasta el final de la lnea. ZZ=Salir de vi grabando los cambios. $=Ir al fin de lnea. Es equivalente a la tecla Fin. ^=Ir al comienzo de lnea. Es equivalente a la tecla Inicio. dd=Cortar lnea al portapapeles (tambin se usa para borrar). Y=Copiar la lnea actual al portapapeles. p=Pegar el contenido del portapapeles a la derecha del cursor. P=Pegar el contenido del portapapeles a la izquiera del cursor. O=Comenzar la edicin abajo del cursor. O Comenzar la edicin arriba del cursor. a=Comenzar la edicin a la derecha del cursor. Adems, los comandos de ex ms comnmente utilizados son: :wq Salir de vi grabando los cambios. :w Grabar los cambios sin salir. :n,m s/cadena1/cadena2/g

Buscar cadena1 y reemplazarla por cadena2 desde la lnea nmero n hasta la lnea nmero m (se puede escribir $ para hacer referencia al final del archivo). 10dd, posicionar el cursor en el lugar donde debe ir el prrafo y ejecutar el comando p.= 10 lneas en un texto que se debe mover a otro sitio del archivo. 1.3.2. Insercin de texto - Insertar antes del cursor, antes de la lnea i,
I 2 Editor VI - Aadir despus del cursor, al final de la lnea a, A -Aadir una lnea por debajo, por encima o, O -Remplazar un carcter, muchos caracteres r, R

Al igual que en el borrado, casi todos los comandos de pegado se realizan tecleando y seguido de un comando de movimiento. Por ejemplo, y$ pega hasta el final de lnea. Otros dos comandos de pegado son: - Lnea yy - Lnea :y

1.3.8. Buffers
Se puede especificar el nombre de un buffer antes de cualquier borrado, cambio, copiado o pegado. El prefijo general tiene la forma c donde c podra ser cualquier letra minscula. Por ejemplo, adw borra una palabra y la guarda en el buffer a. Podra ser esta palabra devuelta al texto con un comando de pegado adecuada, por ejemplo ap.

1.3.9. Marcas
Las marcas nominales pueden ser colocadas sobre cualquier lnea del fichero. Cualquier letra minscula puede ser el nombre de una marca. Las marcas podran tambin ser utilizadas como lmites para rangos. Poner la marca c en esta lnea mc - Ir a la marca c c - Ir al primer carcter no blanco de la marca c c

1.3.3. Moverse - Izquierda, abajo, arriba, derecha h,j,k,l - Siguiente palabra, palabra delimitada por
blanco w,W - Principio de palabra, de palabra delimitad. por blanco b, B - Final de palabra, de palabra delimitada por blanco e, E - Sentencia hacia atrs, hacia delante (, ) - Prrafo hacia atrs, hacia delante {, } - Principio, al final de la lnea 0, $ - Principio, al final del fichero 1G, G - Linea n nG o :n - Hacia atrs, hacia delante hasta el carcter c fc, Fc - Parte superior, media y baja de la pantalla H,M,L

1.3.10. Bsqueda de Cadenas - Buscar hacia delante /cadena - Buscar hacia atrs ?cadena - Repetir la bsqueda en la misma, distinta
direccin n, N 4 Editor VI

1.3.11. Remplazar
La Funcin de bsqueda y remplazamiento se realiza con el comando :s. Se usar normalmente en combinacin con rangos o el comando :g (ms abajo): -Remplaza patrn con cadena :s/patrn/cadena/opcin - Opciones: varias en la misma lnea, confirmacin g, c - Repetir el ltimo comando :s&

1.3.4. Borrar texto


Casi todos los comandos de borrado se realizan tecleando d seguido de un comando de movimiento. Por ejemplo, dw borra una palabra. Otros pocos comandos de borrado son: - Carcter de la derecha, de la izquierda x, X - Hasta el final de lnea D -Lnea dd - Lnea :d

1.3.5. Pegar texto

1.3.12. Expresiones Regulares - Cualquier carcter nico excepto el salto de


lnea . (punto)

- Cero o ms repeticiones - Cualquier carcter del conjunto [ . . . ] -Cualquier carcter que no sea del conjunto [
...] - Principio, final de lnea , $ - Principio, final de palabra \<, \> - Agrupacin \(. . . \) - Contenido del agrupamiento n \n

1.3.16. Otros -Cambiar entre maysculas y minsculas - Unir lneas J - Repetir el ltimo comando de cambio de
texto . - Deshacer el ltimo cambio, de la lnea actual u, U

1.3.13. Nmeros
Casi todos los comandos pueden ser precedidos por un nmero que especifica cuntas veces va a ser realizado. Por ejemplo 5dw borrar 5 palabras y 3fe mover el cursor hacia delante hasta la tercera ocurrencia de la letra e. Incluso las inserciones pueden ser repetidas de forma conveniente con este mtodo, pudindose insertar lamisma lnea 100 veces.

1.3.14. Rangos
Los rangos pueden preceder a la mayora de los comandos dos puntos y hacer que dichos comandos se ejecuten sobre un intervalo de lneas determinado. Por ejemplo :3,7d eliminar las lineas de la 3 a la 7. Los rangos son combinados frecuentemente con el comando :s para realizar una substitucin en varios lneas, como con :.,$s/patrn/cadena/g para hacer una substitucin desde la lnea actual hasta el final del fichero. - Lneas de la n a lam(ambas inclusive) :n,m - Lnea actual :. 5 Editor VI - ltima lnea :$ - Marcador c :c - Todas las lneas del fichero :% - Todas las lneas que encajen con el patrn :g/patrn/

1.3.15. Ficheros - Escribir a fichero (el actual si no se


especifica fichero) :w fichero - Leer el fichero despus de la lnea actual :r fichero - Siguiente fichero :n - Fichero anterior :p - Editar fichero :e fichero - Remplazar la lnea con la salida del programa !!programa

Anda mungkin juga menyukai