El Grupo Informático

Que opinais de este codigo?

Que opinais de este codigo?

Notapor raulbarazas » 31 Mayo 2019, 17:29

#!/bin/bash
clear
eliminaUser() {

for linea in $(cat /etc/passwd | cut -d":" -f1,3); do
id=$(echo $linea | cut -d":" -f2)
if [ $id -lt 2000 ] && [ $id -ge 1000 ]; then
echo $(echo $linea | cut -d":" -f1)
fi
done

echo "Quin usuari vols eliminar?"
read user

sudo deluser --force $user

if [ $? -eq 0 ]; then
echo "$user;delete;$(date +%D)" >> $1
else
exit 3;
fi
}

creaUser() {

sudo useradd $1 -u $2 -p $3

if [ $? -eq 0 ]; then
echo "$1;add;$(date +%D)" >> $4
else
exit 3;
fi

}

infoMes() {
for linea in $(cat $2); do

mes=$(echo $linea | cut -d";" -f3 | cut -d"/" -f1)

if [ $1 -eq $mes ]; then
echo $linea
fi

done
}



if [ -f $1 ] && [ $# -eq 1 ]; then

echo "[1] Eliminació d’usuaris"
echo "[2] Crear usuaris massivament"
echo "[3] Accions de l’últim més"
echo "[4] Exit"

echo "Qué opción quieres?"
read opcion

case $opcion in
1)
eliminaUser $1
;;
2)
echo "Introduzca csv:"
read file

numLinea=$(cat $file | wc -l)
for linea in $(cat $file | tail -n$(($numLinea -1))); do
nom=$(echo $linea | cut -d";" -f1)
id=$(echo $linea | cut -d";" -f2)
pw=$(echo $linea | cut -d";" -f3)

creaUser $nom $id $pw $1

done
;;
3)
echo "Introduzca mes por pantalla en formato mm"
read mes

infoMes $mes $1
;;
4)
exit 0;
;;
*)
exit 3;
;;
esac

else
exit 1;
fi
Última edición por raulbarazas el 31 Mayo 2019, 17:33, editado 1 vez en total
raulbarazas
Participo
Participo
 
Mensajes: 7
Registrado: 31 Mayo 2019, 17:27
Karma Usuario: 0
Post Karma: 0


a4

Notapor raulbarazas » 31 Mayo 2019, 17:32

#!/bin/bash
if [ $# -eq 1 ] && [ -f $1 ];then
echo "---------------------Menu---------------------"
echo "[1] Saludar usuari"
echo "[2] Comprovar ususari"
echo "[3] Eliminar usuari"
echo "----------------------------------------------"

echo "Escoje una opcion"
read opcion

if [ $opcion -eq 1 ];then
clear
echo "Hola, $USER"
elif [ $opcion -eq 2 ];then
echo "Intrudice el usuario que quieres comprobar"
read usuari

res=$(cat /etc/passwd | grep $usuari)
clear

if [ $? -eq 0 ];then
echo "ID: "$(echo $res | cut -d: -f3)
echo "NOM: "$(echo $res | cut -d: -f1)
echo "Home: "$(echo $res | cut -d: -f6)
else
echo "$usuari No existe"
fi
exit 2;

elif [ $opcion -eq 3 ];then
echo "¿Que usuario quieres eliminar?"
tail -n10 /etc/passwd | cut -d: -f1
read usrBorrar
sudo deluser --force --quiet $usrBorrar

if [ $? -eq 0 ];then
echo "$(date +%D) --> El $USER ha eliminado a $usrBorrar"
echo "$(date +%D) --> El $USER ha eliminado a $usrBorrar" >> $1
else
echo "No es posible eliminar a $usrBorrar"
echo 3;
fi
fi
else
echo "Opcio no valida"
exit 2;
fi
raulbarazas
Participo
Participo
 
Mensajes: 7
Registrado: 31 Mayo 2019, 17:27
Karma Usuario: 0
Post Karma: 0

Multiplica

Notapor raulbarazas » 31 Mayo 2019, 17:37

#!/bin/bash
if [ $# -eq 1 ] && [ -f $1 ];then
echo "Hola mundillo"
clear
echo "******************"
echo "** Menu **"
echo "******************"
echo "[1] Amb el While-do-done"
echo "[2] Amb el Until-do-done"
echo "[3] Amb el For-do-done"
echo "\n "
read opcion
case $opcion in
"1")
echo "1 WHILE"
echo "Nombre multiplicador:"
read multiplicador
echo "Comença:"
read comensa
echo "Acaba:"
read acaba
diferencia=$(($acaba - $comensa))
if [ $diferencia -gt 10 ]; then
echo "no pot ser més de 10 numeros de diferencia"
exit 3;
elif [ $acaba -lt $comensa ]; then
echo "acaba no pot ser mes petit que comenÇa"
exit 3;
else
while [ $comensa -le $acaba ]; do
resultat=$(($comensa*$multiplicador))
echo $comensa x $multiplicador = $resultat
comensa=$(($comensa + 1))
done
fi
;;
"2")
echo "2 UNTIL"
echo "Nombre multiplicador:"
read multiplicador
echo "Comença:"
read comensa
echo "Acaba:"
read acaba
diferencia=$(($acaba - $comensa))
if [ $diferencia -gt 10 ]; then
echo "no pot ser més de 10 numeros de diferencia"
exit 3;
elif [ $acaba -lt $comensa ]; then
echo "acaba no pot ser mes petit que comenÇa"
exit 3;
else
until [ $comensa -gt $acaba ]; do
resultat=$(($comensa*$multiplicador))
echo $comensa x $multiplicador = $resultat
comensa=$(( comensa+1 ))
done
fi
;;
"3")
echo "3 FOR"
echo "Nombre multiplicador:"
read multiplicador
echo "Comença:"
read comensa
echo "Acaba:"
read acaba
diferencia=$(($acaba - $comensa))
if [ $diferencia -gt 10 ]; then
echo "no pot ser més de 10 numeros de diferencia"
exit 3;
elif [ $acaba -lt $comensa ]; then
echo "acaba no pot ser mes petit que comenÇa"
exit 3;
else
for i in $(seq $comensa $acaba)
do
resultat=$(($i*$multiplicador))
echo $i x $multiplicador = $resultat
done
fi
;;
*)
echo "mu mal"
exit 2;
;;
esac

else
echo "Error no es correcto"
exit 1;
fi
raulbarazas
Participo
Participo
 
Mensajes: 7
Registrado: 31 Mayo 2019, 17:27
Karma Usuario: 0
Post Karma: 0

potencia

Notapor raulbarazas » 31 Mayo 2019, 17:37

#!/bin/bash
set -e
echo -n "Base: "
read base
echo -n "Potencia: "
read potencia

res=1
potencia1=$(echo $potencia)

potencia=$(($potencia+1))

while [ $potencia -gt 0 ]
do
res=$(($res*$base))
potencia=$(($potencia-1))

done
echo "Si elevem $base a la $potencia1 el resultat es: $res"
raulbarazas
Participo
Participo
 
Mensajes: 7
Registrado: 31 Mayo 2019, 17:27
Karma Usuario: 0
Post Karma: 0

multiplica csv

Notapor raulbarazas » 31 Mayo 2019, 17:38

#!/bin/bash
if [ $# -eq 2 ] && [ -f $1 ] && [ -f $2 ];then
multiplica1=$(cut -d "," -f 1 $2 | head -2 | tail -1)
comensa1=$(cut -d "," -f 2 $2 | head -2 | tail -1)
acaba1=$(cut -d "," -f 3 $2 | head -2 | tail -1)
echo "******************************" >> $1
while [ $comensa1 -le $acaba1 ]; do
resultat1=$(($comensa1*$multiplica1))
echo $comensa1 x $multiplica1 = $resultat1 >> $1
comensa1=$(($comensa1 + 1))
done
multiplica2=$(cut -d "," -f 1 $2 | head -3 | tail -1)
comensa2=$(cut -d "," -f 2 $2 | head -3 | tail -1)
acaba2=$(cut -d "," -f 3 $2 | head -3 | tail -1)
echo "******************************" >> $1
while [ $comensa2 -le $acaba2 ]; do
resultat2=$(($comensa2*$multiplica2))
echo $comensa2 x $multiplica2 = $resultat2 >> $1
comensa2=$(($comensa2 + 1))
done
else
echo "Error no es correcto"
exit 1;
fi
raulbarazas
Participo
Participo
 
Mensajes: 7
Registrado: 31 Mayo 2019, 17:27
Karma Usuario: 0
Post Karma: 0

potencia

Notapor raulbarazas » 31 Mayo 2019, 17:39

#!/bin/bash
set -e
echo -n "Base: "
read base
echo -n "Potencia: "
read potencia

res=1
potencia1=$(echo $potencia)

potencia=$(($potencia+1))

while [ $potencia -gt 0 ]
do
res=$(($res*$base))
potencia=$(($potencia-1))

done
echo "Si elevem $base a la $potencia1 el resultat es: $res"
raulbarazas
Participo
Participo
 
Mensajes: 7
Registrado: 31 Mayo 2019, 17:27
Karma Usuario: 0
Post Karma: 0


Volver a Foro Software



cron