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).
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.
Bueno, otra vez dos puntos extra para la clase.
ResponderEliminar