elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: [1]
1  Programación / Scripting / Ayuda. Script Backup en: 7 Junio 2015, 23:55 pm
Hola a todos, estoy haciendo un script para hacer backup de archivos con una extensión especifica. Se debe escoger un medio para crear la carpeta del backup. Estoy usando find y exec, sin embargo cuando ejecuto me aparece el find: falta un parámetro para «-exec», si pongo un echo para la variable que ejecutaría la opción y copio el comando se ejecuta sin problema. Ayuda para que se ejecute solo por favor

 
Código
  1. #! /bin/bash
  2. function donde()
  3. {
  4.        local ubic
  5.        echo "1. disco"
  6.        echo "2. memoria"
  7.        read -p "donde desea guardar el backup " ubic
  8.        case  $ubic in
  9.                [1-2])
  10.                        return $ubic;;
  11.                *)
  12.                        echo "valor no valido"
  13.                        donde
  14.        esac                
  15. }
  16. function que()
  17. {
  18.        local tipo
  19.        echo "1. .doc"
  20.        echo "2. .txt"
  21.        echo "3. .pdf"
  22.        echo "4. .c"
  23.        echo "5. .sh"
  24.        read -p "a que tipo de archivo " tipo
  25.        case  $tipo in
  26.                [1-5])
  27.                        return $tipo;;
  28.                *)
  29.                        echo "valor no valido"
  30.                        que
  31.        esac        
  32. }
  33. donde
  34. ubic=$?
  35. case $ubic in
  36.        1)
  37. ubi='-d /home/sdii/Documentos/backup'
  38.               ubic="mkdir /home/sdii/Documentos/backup"
  39. ubicc='/home/sdii/Documentos/backup/ \;';;
  40.        *)
  41. ubi='-d /media/sdii/F26258CF62589A65/backup'
  42.                ubic='mkdir /media/sdii/F26258CF62589A65/backup'
  43. ubicc="/media/sdii/F26258CF62589A65/backup/ \;"        
  44. esac  
  45. que
  46. tipo=$?
  47. case $tipo in
  48.        1)
  49.                tipo='sudo find /home -iname "*.docx" -exec cp {} '
  50. tipoo=$tipo$ubicc;;
  51.        2)
  52.                tipo='sudo find /home -iname "*.txt" -exec cp {} '
  53. tipoo=$tipo$ubicc;;  
  54.        3)
  55.                tipo='sudo find /home -iname "*.pdf" -exec cp {} '
  56. tipoo=$tipo$ubicc;;
  57.        4)
  58.                tipo='sudo find /home -iname "*.c" -exec cp {} '
  59. tipoo=$tipo$ubicc;;
  60.        *)    
  61.                tipo='sudo find /home -iname "*.sh" -exec cp {} '
  62. tipoo=$tipo$ubicc
  63. esac
  64.  
  65.  
  66. if [ $ubi ]
  67. then
  68. $tipoo
  69. else
  70. $ubic
  71. $tipoo
  72. fi
  73.  
  74.  
  75.  

Esto pasa cuando pongo que se ejecute la variable tipoo

Poniendo echo y ejecutando:

2  Programación / Programación C/C++ / Ayuda, problema para ingresar datos en tuberias. en: 22 Marzo 2015, 00:30 am
Estoy haciendo un programa al que le ingrese un numero, hay un proceso hijo que envia el numero a traves de una tuberia y obtiene e imprime el factorial del numero (cuando el numero es menor que cero imprime los numeros ingresados en orden ascendente y se sale del programa). El proceso padre recibe a traves de la tuberia y descompone el numero en multiplicaciones de numeros primos. Pero tengo un problema ENORME: no puedo ingresar el numero, el programa compila (ubuntu 14.04) y al ejecutarlo solo imprime una linea que tengo previa al scanf que simplemente indica que se ingrese el numero. Agradezco su ayuda, adjunto el codigo.
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <math.h>
  5.  
  6. int a,ing[50],b,tub[2];
  7. void pedir (void)
  8. {
  9.        int num,i,fact,j,temp;
  10.        num=10;
  11. close(tub[0]);
  12. do
  13. {
  14.  
  15. printf("ingrese el numero \n");
  16. scanf("%i",&num);
  17. write(tub[1], &num, sizeof(int));
  18. ing[a]=num;
  19.        a++;
  20.        for(i=num;i>0;i--)
  21.        {    
  22.         fact=fact*i;
  23.        }
  24.        printf("factorial: %i \n",fact);
  25. fact=1;
  26. if(num<=0)
  27. {
  28. for(i=0;i<=a-1;i++)
  29. {
  30. for(j=i;j<=a-1;j++)
  31. {
  32. if(ing[j]<=ing[i])
  33. {
  34. int temp=ing[j];
  35. ing[j]=ing[i];
  36. ing[i]=temp;
  37. }
  38. }
  39.       }
  40. printf("ordenada: \n");
  41. for(i=0;i<a;i++)
  42.       {    
  43.         printf("%i \t",ing[i]);
  44.         }
  45. printf("\n");
  46. }
  47. }while(num>0);
  48.  
  49.  
  50.  
  51. }
  52. void ppadre (void)
  53. {
  54. sleep(2);
  55. int numl;
  56. numl=1;
  57. printf("ola que ase saliendose solo o que ase");
  58. do{
  59. int i,conta,o;
  60.       int primos[50];
  61.         int pos=0;
  62. close(tub[1]);
  63. for(i=1;i<=numl;i++)
  64.         {
  65.                conta=0;
  66.                for(o=1;o<=i;o++)
  67.                {
  68.                        if(i%o==0)
  69.                                conta++;
  70.                }
  71.                if(conta==2)
  72.                {                  
  73.                        primos[pos]=i;
  74.                        pos++;      
  75.                }  
  76.         }
  77.         o=1;
  78.         for(i=0;i<pos;i++)
  79.         {
  80.                if(numl%primos[i]==0)
  81.                {
  82.                        o=o*primos[i];
  83. printf("va en %i\n",o);
  84.              }
  85.        if(o==numl)
  86.        {
  87.         printf("terminado: %i\n",o);
  88.                i=pos;
  89.        }
  90. if(i==(pos-1) && o!=numl)
  91. {
  92. i=-1;
  93. }
  94.        }
  95. }while(numl>0);
  96. }
  97. void main (void)
  98. {
  99.  
  100. a=0;
  101. pid_t pid;
  102. pid = fork ();
  103. pipe(tub);
  104. switch(pid)
  105. {
  106. case -1: // error del fork<)
  107. printf("error al crear el proceso\n");
  108. break;
  109. case 0: // proceso hijo
  110. //printf("hijo\n");
  111. pedir();
  112. break;
  113. default: // padre
  114. //printf("yo soy tu padre\n");
  115. ppadre;
  116. break;
  117.  
  118. }
  119. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines