Ejemplos de Script
Cátedra: Sistemas Operativos
ISFT OTTO KRAUSE
Ejemplo 1
#Recibeparametros.sh
#!/bin/bash
echo $0
echo $1
Ejemplo 2
#if.sh
#!/bin/bash
echo $1
if [ -z "$1" ]; then
echo No enviaste nada
else
echo "El parámetro es $1"
fi
#if2.sh
#!/bin/bash
echo "Introduzca un numero:"
read numero
if [ $numero -lt 5 ]; then
echo "El numero ingresado es menor que 5"
elif [ $numero -eq 5 ]; then
echo "El numero ingresado es 5"
elif [ $numero -gt 5 ]; then
echo "el numero ingresado es mayor que 5"
else
echo "No introdujo ningún numero"
fi
exit
Ejemplo 3
#Recibeparametros2.sh
#!/bin/bash
echo El nombre del programa es $0
echo El número total de parámetros es $#
echo Todos los parámetros recibidos son $*
echo El primer parámetro recibido es $1
echo El segundo parámetro recibido es $2
echo El tercer parámetro recibido es $3
echo El cuarto parámetro recibido es $4
Ejemplo 4
#script1.sh
#! /bin/bash
clear
nombre=“Juan”
apellidos=“Lopez”
echo “Te llamas $nombre $apellidos”
Ejemplo 5
#read.sh
#! /bin/bash
clear
echo "Introduzca un nombre:"
read nombre
echo "Introduzca un apellido:"
read apellido
echo “Te llamas $nombre $apellido”
#read2.sh
#!/bin/bash
#script ej_read
#La opción –n se emplea para evitar el retorno de carro
echo –n “Introduce una variable: “
read var
echo La variable introducida es: $var
Ejemplo 6
#read3.sh
#!/bin/bash
#script ej_read_var que lee varias variables con read
echo –n “Introduce las variables: “
read var1 var2 var3
echo Las variables introducidas son:
echo var1 = $var1
echo var2 = $var2
echo var3 = $var3
Ejemplo 7
#multiplica.sh
#!/bin/bash
#script que multiplica dos variables leídas desde teclado
echo “Multiplicación de 3 variables”
echo “-------------------------------“
echo –n “Introduce la primera variable:“
read var1
echo –n “Introduce la segunda variable:“
read var2
echo –n “Introduce la tercera variable:“
read var3
resultado=`expr $var1 \* $var2 \* $var3`
echo El resultado de la multiplicación es = $resultado
Ejemplo 8
#divide.sh
#!/bin/bash
#script que divide dos variables leídas desde teclado
echo “Cociente de dos variables”
echo “-------------------------------“
echo –n “Introduce la primera variable:“
read var1
echo –n “Introduce la segunda variable:“
read var2
resultado=`expr $var1 / $var2`
echo El resultado de la division es =$resultado
Ejemplo 9
#compara.sh
#!/bin/bash
cadena1="Hola mundo"
cadena2=""
cadena3="Hola mundo"
if [ "$cadena1" == "$cadena3" ]; then
echo 'cadena1' es igual a 'cadena3'
fi
if [ -n "$cadena1" ]; then
echo " La cadena '$cadena1' no esta vacia"
fi
if [ -z "$cadena2" ]; then
echo " La cadena 'cadena2' esta vacia"
fi
Ejemplo 10
#compara2.sh
#!/bin/bash
#ejemplo 10
valor1=10
valor2=12
valor3=12
#if [ "$cadena1" == "$cadena3" ]; then
if [ $valor1 -lt $valor2 ]; then
echo "$valor1 es menor que $valor2"
fi
if [ $valor2 -gt $valor1 ]; then
echo "$valor2 es mayor que $valor1"
fi
if [ $valor2 -le $valor3 ]; then
echo "$valor2 es menor o igual que $valor3"
fi
if [ $valor2 -ge $valor3 ]; then
echo "$valor2 es mayor o igual que $valor3"
fi
if [ $valor2 -eq $valor3 ]; then
echo "$valor2 es igual que $valor3"
fi
Ejemplo 11
#While1.sh
#!/bin/bash
MINUM=8
while [ 1 ]; do
echo "Introduzca un número: "
read USER_NUM
if [ $USER_NUM -lt $MINUM ]; then
echo "El número introducido es menor que el mío"
echo " "
elif [ $USER_NUM -gt $MINUM ]; then
echo "El número introducido es mayor que el mío"
echo " "
elif [ $USER_NUM -eq $MINUM ]; then
echo "Acertaste: Mi número era $MINUM"
break
fi
done
# Comandos inferiores...
echo "El script salió del bucle. Terminando..."
exit
Ejemplo 12
#While2.sh
#!/bin/bash
opcion=100 # Ponemos opción en 100 para que el ciclo se cumpla la
primera vez.
while [ $opcion -ne 0 ] # Cambiar a -ne para que el ciclo continúe
mientras opción no sea 0
do
echo "opcion= $opcion"
echo -n "Ingrese un número [0 para salir]: "
read opcion
done # esto finaliza el ciclo while
Ejemplo 13
#for1.sh
#!/bin/sh
# Ejemplo 5: uso del for.
for x in 1 2 3 4 5
do
echo "el valor de x es: $x"
done
Ejemplo 14
#while3.sh
#!/bin/bash
valid=true
contador=1
while [ $valid ]
do echo $contador
if [ $contador -eq 5 ];
then break
fi ((contador++))
done
Ejemplo 15
#until1.sh
#!/bin/bash
# Uso de until
# Inicializamos la opción en 1 para entrar en el ciclo.
opcion=1
# El bucle until continuará hasta que la opción sea 0.
until [ $opcion -eq 0 ]
do
echo -n "Ingrese un número [0 para salir]: "
read opcion
echo "Has ingresado: $opcion"
done
echo "Has salido del ciclo."
Ejemplo 16
#for2.sh
#!/bin/bash
#Ejemplo de bucle for para aumentar o disminuir los contadores.
for (( contador=10; contador>0; contador-- ))
do
echo -n "$contador "
done
A partir de aquí deben colocar sus script, debidamente
verificados funcionando. Mínimo 2 por persona
Por ej:
Alumno : Juan Molina
Script 1
codigo
Script 2
codigo
Alumno : Samuel Carrizo
Script 1
#!/bin/bash
# Mostrar el nombre del script
echo- "Nombre del script: $0"
# Mostrar el primer parámetro
echo- "Primer parámetro: $1"
# Mostrar el segundo parámetro (si existe)
echo- "Segundo parámetro: $2
# Mostrar todos los parámetros
echo- "Todos los parámetros: $@"
# Contar el número de parámetros pasados
echo- "Número de parámetros: $#”
Script 2
#!/bin/bash
# Uso de until modificado
# Inicializamos la variable palabra con un valor que no sea "salir" para
entrar en el ciclo.
palabra=""
contador=0
# El bucle until continuará hasta que se ingrese la palabra "salir".
until [ "$palabra" = "salir" ]
do
echo -n "Ingrese una palabra [escriba 'salir' para terminar]: "
read palabra
contador=$((contador + 1))
echo "Has ingresado: $palabra"
done
echo "Has salido del ciclo. Ingresaste $((contador - 1)) palabras.”
Alumno: Ortiz Mario
Script 1:
#!/bin/bash
#a partir de la cantidad de bancos de un aula y alumnos de un curso
#permita determinar si alcanzan los bancos existentes
#de no ser asi informar cuantos bancos seria necesario agregar.
echo "Ingrese la cantidad de alumnos en el aula"
read alumnos
echo "ingrese la cantidad de bancos disponibles"
read bancos
if [ $alumnos -lt 0 || $bancos -lt 0 ]; then
echo "Valor invalido"
exit 1
else dif=$(( $alumnos - $bancos));
fi
if [ $alumnos -gt $bancos ]; then
echo "No hay suficientes bancos en el aula"
echo "Se deben agregar $dif bancos"
elif [ $alumnos -le $bancos ]; then
echo "Si hay suficientes bancos en el aula"
fi
Script 2:
#!/bin/bash
#Se calcula el monto total de una compra
#y se da a elegir el metodo de pago
#si es en contado se hace un descuento del 15%, 20% si es debito
#y si es por tarjeta se le hace un recargo del 25%
echo "ingrese el monto de la compra"
read monto
echo "Ingrese la forma de pago efectuada(contado, debito o tarjeta)"
read pago
case $pago in contado)
total=$(($monto - ($monto*15/100)))
echo "Se le hace un descuento del 15%"
echo "El monto total a pagar es $total";;
debito)
total=$(($monto - ($monto*20/100)))
echo "Se le hace un descuento del 20%"
echo "El monto total a pagar es $total";;
tarjeta)
total=$(($monto + ($monto*25/100)))
echo "Se le hace un recargo del 25%"
echo "El monto total a pagar es $total";;
*)
echo "Metodo de pago invalido"
esac
Alumno: Leonardo Nicolas Rodriguez
script 1
#!/bin/bash
echo "Ingresar la nota"
read nota
if [[ $nota -ge 1 && $nota -le 5 ]]; then
echo "La nota es insuficiente"
elif [[ $nota -gt 5 && $nota -le 7 ]]; then
echo "La nota es aprobado"
elif [[ $nota -gt 7 && $nota -le 9 ]]; then
echo "La nota es destacado"
elif [[ $nota -eq 10 ]]; then
echo "La nota es sobresaliente"
else echo "La nota ingresada está fuera de rango"
fi
exit
script 2
#!/bin/bash
echo “Ingresar la cantidad de entradas que va a comprar”
read n
p=10000
r=0
d=0
t=0
if [ $n -eq 1 ]; then
echo “No tiene descuento, el total es de 10.000 por $n entrada(s)”
elif [ $n -eq 2 ]; then
echo “Tiene un descuento de un 10%”
r=$(($p*$n))
d=$(($r*10/100))
t=$(($r-$d))
echo “El total es de $t por $n entrada(s)”
elif [ $n -eq 3 ]; then
echo “Tiene un descuento de un 15%”
r=$(($p*$n))
d=$(($r*15/100))
t=$(($r-$d))
echo “El total es de $t por $n entrada(s)”
elif [ $n -eq 4 ]; then
echo “Tiene un descuento de un 20%”
r=$(($p*$n))
d=$(($r*20/100))
t=$(($r-$d))
echo “El total es de $t por $n entrada(s)”
fi
exit
Alumno: Carrizo Daniel
SCRIPT1
#!/bin/bash
# MUESTRA INFORMACION DEL USUARIO CUYO NOMBRE SE SOLICITA
# POR TECLADO AL EJECUTAR EL SCRIPT
# SOLICITAMOS NOMBRE DEL USUARIO Y LO ALMACENAMOS EN
# LA VARIABLE usuario
clear
echo -n "INTRODUZCA SU NOMBRE: "
read usuario
echo
# MOSTRAMOS INFORMACION DEL USUARIO EN LA VARIABLE usuario
echo "BIENVENIDO AL SISTEMA $HOSTNAME, USUARIO $usuario"
echo "Nombre de usuario: $USER"
echo "Directorio Personal: $HOME"
echo -n "Hoy es "
date +%A
echo -n "Estamos en "
date +%B
echo -n "Son las "
date +%H:%M
SCRIPT2
#!/bin/bash
echo INGRESAR 10 NUMEROS Y MOSTRAR EL MAYOR, EL MENOR,
echo CUANTOS SON POSITIVOS, CUANTOS SON NEGATIVOS Y
echo CUANTOS SON NEUTROS
echo ""
may=0
men=0
pos=0
neg=0
neu=0
echo "---------------------------------------------------"
echo ""
i=0
for i in 1 2 3 4 5 6 7 8 n9 10
do
echo "Ingrese un valor entero: "
read -r num
if [ $num -gt 0 ]
then
pos=$((pos + 1))
elif [ $num -lt 0 ]
then
neg=$((neg + 1))
else
neu=$((neu + 1))
fi
if [ $num -lt $men ]
then
men=$num
elif [ $num -gt $may ]
then
may=$num
fi
done
echo "---------------------------------------------------"
echo ""
echo "Resultados:"
echo ""
echo "Total de numeros ingresados: $i"
echo ""
echo "Positivos: $pos"
echo "Negativos: $neg"
echo "Neutros: $neu"
echo "Mayor: $may"
echo "Menor: $men"
echo ""
echo "---------------------------------------------------"
echo ""
Alumno; RIVERA ANDRES
Script 1; “Como poner C en la consola de linux”
sudo apt update
sudo apt install build-essential
gcc programa.c -o programa
script 2;Solicitar al usuario el tamaño de una matriz cuadrada. Luego, llenar
dos matrices (A y B) con valores ingresados por el usuario. Realizar la suma y
el producto de ambas matrices, mostrando los resultados junto con las matrices
originales. Verificar si alguna de las matrices es simétrica
#include <stdio.h>
int main()
{
int nu;
do{
printf("De cuantos elementos sera la matrix; \n");
scanf("%d", &nu);
if(nu < 1){
printf("Ingrese un numero mayor a 1 \n");
}
}while(nu < 1);
float m [nu][nu];
printf("Cargue la Primera Matrix \n");
for(int a = 0; a < nu ; a++){
for(int b = 0; b < nu ;b++){
do{
printf("Ingrese el numero fila: %d columna; %d \n", a + 1 , b + 1
);
scanf("%f", &m[a][b]);
}while(m[a][b] < 0);
}
}
float m2 [nu][nu];
printf("Cargue la Segunda Matrix \n");
for(int a1 = 0; a1 < nu ; a1++){
for(int b2 = 0; b2 < nu; b2++){
do{
printf("Ingrese el numero fila: %d columna; %d \n", a1 + 1 , b2 +
1 );
scanf("%f", &m2[a1][b2]);
}while(m2[a1][b2] < 0);
}
}
float m3 [nu][nu];
printf("Cargue Tercera Matrix \n");
for(int a2 = 0; a2 < nu ; a2++){
for(int b3 = 0; b3 < nu; b3++){
do{
printf("Ingrese el numero fila: %d columna; %d \n", a2 + 1 , b3 +
1 );
scanf("%f", &m3[a2][b3]);
}while(m3[a2][b3] < 0);
}
}
float resultado[nu][nu];
for (int a = 0; a < nu; a++) {
for (int b = 0; b < nu; b++) {
resultado[a][b] = m[a][b] + m2[a][b] + m3[a][b];
}
}
printf("La suma de las tres matrices es:\n");
for (int a = 0; a < nu; a++) {
for (int b = 0; b < nu; b++) {
printf("%0.2f ", resultado[a][b]);
}
printf("\n");
}
float div[nu][nu];
for (int a = 0; a < 2; a++) {
for (int b = 0; b < 2; b++) {
div[a][b] = resultado[a][b] / m3[a][b];
}
}
printf("La division de C Y D:\n");
for (int a = 0; a < 2; a++) {
for (int b = 0; b < 2; b++) {
printf("%0.2f ", div[a][b]);
}
printf("\n");
}
return 0;
}