0% encontró este documento útil (0 votos)
40 vistas3 páginas

Scripts

El documento presenta varios scripts en Bash que realizan diferentes tareas, como comparar cadenas, validar archivos y directorios, añadir texto a un archivo, imprimir o eliminar archivos, y verificar la existencia de usuarios y grupos en el sistema. También incluye ejemplos de bucles para copiar archivos y un script que permite al usuario root apagar el sistema. Cada script está acompañado de explicaciones breves sobre su funcionamiento.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como ODT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas3 páginas

Scripts

El documento presenta varios scripts en Bash que realizan diferentes tareas, como comparar cadenas, validar archivos y directorios, añadir texto a un archivo, imprimir o eliminar archivos, y verificar la existencia de usuarios y grupos en el sistema. También incluye ejemplos de bucles para copiar archivos y un script que permite al usuario root apagar el sistema. Cada script está acompañado de explicaciones breves sobre su funcionamiento.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como ODT, PDF, TXT o lee en línea desde Scribd

 

4. Crear un programa que meta dos cadenas de caracteres en dos variables. Y las compare, si
son iguales mostrara por pantalla las cadenas son iguales y si no lo son mostrara el mensaje
contrario.

read -p "introduce una cadena: " cadena1


read -p "Introduce otra cadena: " cadena2
if [ $cadena1 = $cadena2 ]
then echo "son iguales"
else echo "son distintas"
fi
 
 
 
5. Crear un script que reciba un directorio como primer parámetro, y a continuación una lista
de archivos. El script debe validar que los parámetros recibidos sean realmente archivos y
luego copiarlos al directorio recibido

if [ -d $1 ]; then
nombre_dir=$1
shift
for i in $*; do
if [ -f $i ]; then
cp $i $nombre_dir
else
echo "El archivo $i no es válido"
fi
done;
else
echo "El primer parámetro debe ser un directorio"
fi
 
 

6. Introducir un texto a un archivo.


read -p "Desea añadir una nueva dirección (s/n): " CONF
case $CONF in
[sS]*) read -p "Introduce la dirección:" DIRECCION
echo $DIRECCION >> Fichero_Datos.txt
;;
*) echo "El fichero no se modifica"
;;
esac
 
 
 

7. Imprimir y eliminar un archivo


echo “Por favor seleccione P, D o Q para”
echo “[P]rint Imprime un archivo”
echo “[D]elete Borra un archivo”
echo “[Q]uit Sale del programa”
read response
 
case $response in
  P|p) echo “¿Nombre del archivo a imprimir?”
  read filename
  lp $filename;;
 
  D|d) echo “¿Nombre del archivo a eliminar?”
  read filename
  rm $filename;;
 
  *) echo “Salir ahora”;;
             esac
 
 
8. Este script es un claro ejemplo de cómo comprobar si un usuario y un grupo existen en el
sistema, vemos también el uso que se le da al elif.

#! /bin/bash
clear
read -p “Introduce usuario… ” user
read -p “Introduce grupo… ” group
if `grep -e “$user:.*” /etc/passwd >/dev/null`
then
  if `grep -e “$group:.*” /etc/group >/dev/null`
  then
   echo “Usuario y grupo ya existen en el sistema”
  fi
 elif `grep -e “$group:.*” /etc/group >/dev/null`
 then
  echo “usuario no existe, grupo si!!”
  else
 echo “Ni grupo ni usuario existen”
 fi
 
 
 
9. Con un bucle for podrá especificar un conjunto de archivos o valores para que se utilicen con
algunos comandos. Por ejemplo, para copiar todos los archivos cuyos nombres terminen por
.sh al directorio textdir utilice el siguiente bucle for:

#!/bin/bash
mkdir textdir
for i in $(ls *.sh)
do
cp $i textdir/$i
done

El shell interpreta la expresión anterior y hace que la variable i tome en cada iteración el valor
de cada uno de los ficheros de la lista que sigue a in.
 
 
 
10 Si es el usuario root apagar
#!/bin/bash
if [ "$(whoami)" = 'root' ] then
shutdown -r +1

else
echo "El script no se ejecutará porque usted no es usuario 'root'"

fi
 

También podría gustarte