Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. !/bin/bash
  2.  
  3. exe="Simulation_T"
  4. exe_input="input.txt"
  5.  
  6. #check exe and input names
  7.  
  8. echo "Eseguibile : " $exe
  9. echo "Input all'eseguibile : " $exe_input
  10.  
  11. function usage {
  12. echo "usage:"
  13. echo " "$1 "<input-file>"
  14. exit 1
  15. }
  16.  
  17. # check input file path present
  18. if [ $# -eq 0 ]
  19. then
  20. usage $0
  21. fi
  22.  
  23. # path del file di input
  24. in_file="$1"
  25.  
  26. # array con i prefissi delle directory
  27. prefixes=("SIM" "DW" "ALLUP")
  28.  
  29. # setta le variabili dal file di input
  30. source $in_file
  31.  
  32. echo "first_choice = "$first_choice
  33. echo "hx = "$hx
  34. echo "hz = "$hz
  35.  
  36. # `echo 100*$variabile/1 | bc` ritorna il valore della variabile motiplicato per 100 e arrotondato ad intero
  37. newdir=${prefixes[$first_choice]}_hx`echo 100*$hx/1 | bc`_hz`echo 100*$hz/1 | bc`
  38.  
  39. # verifica che la directory da creare non esista già
  40. if [ ! -d $newdir ]; then
  41. echo "Creating directory: "$newdir"..."
  42. if ! mkdir $newdir ; then # verifica che la creazione della directory non sia fallita
  43. echo "Error creating directory "$newdir
  44. exit -1
  45. else
  46. cp $exe $newdir/$exe # copia l'eseguibile dentro la cartella appena creata
  47. cp $exe_input $newdir/$exe_input
  48. fi
  49. fi
  50.  
  51. # la directory ora esiste (appena creata o preesistente)
  52. cd $newdir
  53.  
  54. # MODO 1 (passaggio file tramite argv)
  55. #./$exe "`cat ../exe-input`" >> stdout 2> stderr & # esegui l'eseguibile passando il file di input come argv e reindirizzando
  56. # stdout dentro al file stdout (appendendo il contenuto) e stderr dentro al file stderr
  57.  
  58. # MODO 2 (passaggio file tramite stdin)
  59. ./${exe} < ../${exe_input} >> stdout 2> stderr & # esegui l'eseguibile passando il file di input reindirizzato a stdin e reindirizzando
  60. # stdout dentro al file stdout (appendendo il contenuto) e stderr dentro al file stderr
  61.  
  62. cd ..
  63.  
  64. echo "Done."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement