lunes, 25 de octubre de 2010

.: Instrucciones de Shell :.

:: Instrucciones de Shell ::


Materia. Lenguajes de Programación

Hora. M1 -M3 (Martes)

Ejecutar un programa en Shell:

sh <nombre_programa>.sh

A diferencia de los demás lenguajes en los que he hablado, este no tendrá gran problema, pues la mayoría sabemos los comandos de Shell. 

Asi que seré más breve.

MOSTRAR DATOS EN PANTALLA 

Para esto, solo basta usar la instrucción “echo” y el texto entre comillas dobles ( “ “ ). Ejemplo:

echo " \n\t\t***Manejo de Directorios**\n"

LEER DATOS 

Es muy sencillo y ovbio, diría yo, para introducir datos a nuestro programa. Sólo basta la palabra read un espacio y el nombre la variable. Ejemplo:

read answer

DECLARACION Y USO DE VARIABLES

Al momentos de usar una variable por primera vez, no es necesario declararla con alguna instrucción ni al principio del código.

Generalmente cuando requerimos de una variable, es porque vamos a asignarle un valor, por lo que, (ya sea variable nueva o antes usada) siempre que se asigna un valor a una variable, no se usa el simbolo $. Éste sólo se necesita cuando usamos las variables en operaciones, otras intrucciones de shell, o en condiciones.

Es importante que cuando se le asigne un valor a una variable, no se coloquen espacios en el signo de igual ( = ). Ejemplo:

answer=0 
folder2=$new_folder 

while [ $answer = 0 ] 
      mkdir $name_folder

SINTAXIS DEL WHILE 

La condicion de coloca entre corchetes ( [ ] ), seguidos de la palabra do en la otra linea, se coloca el proceso y al final se usa la palabra do. Ejemplo:

while [ $answer = 0 ] 
do 
      clear 
      echo " \n\t\t***Manejo de Directorios**\n" 
      echo "FECHA Y HORA:" 
      date 
      echo "\nSu ubicacion actual es: " 
      pwd 
done

SINTAXIS IF – ELSE 

Tenemos algo interesante aquí, pues la condición del if tiene antepuesta la palabra “test”, que sirve como evaluador, en la siguiente linea se coloca la palabra “then”, colocamos el proceso y cerramos en if con lo contario: “fi”. Ejemplo:

if test $r = 1 
then 
      echo "\nCarpeta a donde desea entrar" 
      read folder 
      cd $folder 
fi

Para meter el if – else es de la siguiente manera:

if test $r = 1  
then 
      echo "\nCarpeta a donde desea entrar" 
      read folder 
      cd $folder 
else 
      cd .. 
fi

SINTAXIS SWITCH 

El switch que nosotros conocemos normalmente, en Shell cambio radicalmente. Su sintaxis en la siguiente:

case variable_a_analizar in 
1) 
      proceso 1 
;; 
2) 
      proceso 2 
;; 
N) 
      proceso N 
;; 
esac

Como pueden apreciar la aplicación de esta instrucción puden verlo en los dos programas de Shell que realice. 

INSTRUCCIONES DE SHELL YA VISTAS
  • date. Imprime la fecha y hora del sistema. 
  • clear. Limpia la pantalla del terminal. 
  • pwd. Imprime la ubicación del fichero donde te encuentras en ese momento. 
  • ls -B. Muestra el contenido del fichero donde estas sin mostrar archivos ocultos. 
  • mkdir folder. Crea una carpeta en la ubicación donde estas con el nombre de “folder”. 
  • cp -pR dir_origen/folder /dir_destino. Copia “folder” con todo y contenido de “dir_origen” a “dir_destino”. 
  • mv -vf dir_origen/folder /dir_destino. Mueve “folder” con todo y contenido de “dir_origen” a “dir_destino”. 
  • mv -vf folder new_name. Cambia el nombre de “folder” a “new_name”. Sin importar que tenga algo no este vacia la carpeta. 
  • rm -rf dir_origen folder. Elimina la carpeta “folder” de la “dir_origen” en la cual nos encontramos, teniendo o no, teniendo la carpeta algún contenido. 
  • cp dir_origen/file /dir_destino. Copia el archivo “file” de “dir_origen” a “dir_destino”. 
  • mv dir_origen/file /dir_destino. Mueve el archivo “file” de “dir_origen” a “dir_destino”. 
  • mv file new_name. Cambia el nombre del archivo “file” a “new_name”.  
  • rm -i dir_origen file. Elimina el archivo “file” de la “dir_origen” en la cual nos encontramos, solicitando confirmación para eliminar (como Windows).
Tutorial

Les comparto el tutorial para Shell Script que me ayudo en gran parte para la creación de mis programas y en donde me base para crear esta entrada.
Saludos a todos.

1 comentario: