Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso: Linux
Participantes:
Grupo: 250550_51
Actividad Colaborativa
Fecha: 31/10/2019
Introducción
En el desarrollo de esta actividad podemos apreciar que Linux está formado por miles
de componentes distintos, escritos en muchos lenguajes de programación diferentes.
Cada componente, ya sea una biblioteca software, una herramienta o una aplicación
gráfica, está disponible en forma de paquete fuente. Los paquetes fuente, en la mayoría
de los casos, constan de dos partes: el código fuente en sí, y los metadatos. Los
metadatos incluyen las dependencias del paquete, los derechos de autor e información
sobre la licencia e instrucciones sobre cómo compilar el paquete y así poder hacer la
instalación de manera exitosa.
Adicional a lo anterior podemos encontrar el desarrollo de la actividad donde notamos
que parte de los editores de texto y donde siguen teniendo la función de mostrar y editar
el contenido de los archivos de texto. No obstante, los programas modernos están
provistos de un gran número de extensiones para facilitarles el trabajo a los usuarios.
Así mismo decimos que en el S.O. Linux existen múltiples implementaciones de shell
(en Windows, el equivalente serían los programas "command.com" o "cmd.exe").
Atendiendo al shell del que proceden y a su similitud sintáctica (incluyendo sus
comandos internos), los shells de Unix pueden clasificarse en dos grandes familias
(existen algunos shell adicionales, de uso residual y dentro de los shells de una misma
familia también existen diferencias, pero gran parte de su sintaxis es común) por lo que
fue de gran ayuda la socialización de la actividad ya que pudimos complementar
algunos conceptos y conocer las diferentes investigaciones en mi grupo como
herramienta para nuestro aprendizaje.
Objetivos
clear
read -p "Cuanto es 9 * 9 " res
mult=$(echo "9*9" | bc -l)
if test $res == $mult
then
echo "El resultado es correcto"
fi
for i in var1 var2 var3 var4
do
echo "Esa es la variable $i"
done
Esta es la variable var1
Esta es la variable var2
Esta es la variable var3
Esta es la variable var4
Otra manera:
for i in `seq 1 10`
do
echo $i
done
En este caso se pide iterar en los números comprendidos del 1 10 así
que el bucle se ejecutara hasta llegar a 10 mostrando los números del
1 al 10
for ((i=1;i<=20;i++))
do
echo "Prueba"
done
Bucle while While es una instrucción de control que sirve para generar bucles, en
los cuales grupos de instrucciones se ejecutan de forma repetida hasta
que se cumpla una condición. Cabe destacar que while, primero
comprobará si se cumple la condición y si se cumple y sólo si se
cumple entonces pasará a ejecutar secuencialmente las instrucciones
contenidas entre do y done.
while [ condicion ]
do
accion
done
#! /bin/bash
clear
num=50
until [ $num -eq 76 ]
do
echo "numero: $num"
num=`expr $num + 1`
done
Select Para no tener que estar haciendo tantos echo y tener nuestros scripts
más ordenados, el bash nos ofrece un comando bastante útil, se trata
de select, veamos cómo funciona.[ CITATION ben13 \l 9226 ]
select variable in opcion1 opcion2
do
case $variable in
opcion1)
comando
;;
opcion2)
comando
;;
*)
comando
;;
esac
done
#! /bin/bash
clear
dir="/var/www/"
select opcion in lista salir
do
case $opcion in
lista)
ls -l $dir
;;
salir)
break
;;
*)
echo "Opcion incorrecta"
;;
esac
done
Debemos recordar que nuestro script para saber si un directorio
existe, debemos mejorarlo y darle opciones.
#! /bin/bash
clear
read -p "Ruta al directorio: " ruta
if [ -d $ruta ]
then
PS3="$ruta Si es un directorio. Escoge una opcion: "
select opt in lista salir
do
case $opt in
lista)
ls -l $ruta
break
;;
salir)
break
;;
*)
echo "Opcion Incorrecta"
;;
esac
done
else
echo "$ruta No es un directorio"
fi
Case Este tipo de sentencia, seria al equivalente al swicht en lenguaje C.
Como otro tipo de estructura sería el equivalente a una serie
de if anidados, con estos podría obtener el mismo resultado, la
diferencia es que usando la sentencia case, el algoritmo es más
ordenado y completo.
#! /bin/bash
clear
read -p "Cuanto es 9 * 9 " res
case $res in
81)
echo "El resultado es correcto"
;;
80182)
echo "Estuviste cerca pero no"
;;
*)
echo "Te has equivocado, el resultado es 81"
;;
esac
Referencias
Amoedo, D. (s.f.). GNU Emacs, instala este mítico editor de texto para Ubuntu / Linux
Mint. Obtenido de https://ubunlog.com/gnu-emacs-editor-texto/
benatdawn. (26 de Septiembre de 2013). Shell Script; Estructuras de Control. Obtenido
de https://www.taringa.net/+linux/shell-script-estructuras-de-control_13i0wn
ecured. (s.f.). Gedit. Obtenido de https://www.ecured.cu/Gedit
ecured. (s.f.). Gvim. Obtenido de https://www.ecured.cu/Gvim
Hope, C. (04/04/2019 ). Comando sh de Linux. Obtenido de
https://www.computerhope.com/unix/ush.htm
Jiménez, F. J. (2018). Programación Shell-script en Linux. Obtenido de
http://trajano.us.es/~fjfj/shell/shellscript.htm#_Toc444081223
Lázaro, E. (27 mayo, 2019). ¿Qué es el Korn Shell de UNIX / Linux? Obtenido de
https://www.neoguias.com/korn-shell-de-unix-linux/
MCEdit. (10 de sep. De 2016). MCEdit: Editor mundial para Minecraft. Obtenido de
https://www.mcedit.net/
wikipedia. (s.f.). C Shell. Obtenido de https://es.wikipedia.org/wiki/C_Shell
wikipedia. (s.f.). GNU Nano. Obtenido de https://es.wikipedia.org/wiki/GNU_Nano