Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. echo "Ten skrypt wyświetla liczby naturalne z pliku (którego nazwa jest podana jako parametr) które są podzielne przez kolejne podane parametry."
  2. echo
  3.  
  4. if [ $# -lt 2 ]; then
  5. echo "Ten skrypt powinien zostać uruchomiony z conajmniej dwoma parametrami, gdzie pierwszy jest nazwą pliku a każdy kolejny dowolną liczbą naturalną"
  6. echo "Przykład: bash <nazwategoskryptu> <nazwapliku> <liczba1> <liczba2>"
  7. fi
  8.  
  9. echo -n "Podane parametry: "
  10. let i=0
  11. for x in $@
  12. do
  13. params[$i]=$x
  14. if [ $i -gt 0 ];then
  15. echo -n "$x "
  16. fi
  17. let i=$i+1
  18. done
  19.  
  20. echo
  21. echo
  22.  
  23. let i=0;
  24. for x in $(cat $1)
  25. do
  26. array[$i]=$x
  27. let i=$i+1
  28. done
  29. let i=1
  30. let count=$#
  31. while [ $i -lt $count ];
  32. do
  33. let current=${params[$i]}
  34. if [ $current -eq 0 ]; then
  35. echo "Liczby podzielne przez 0: Nie można dzielić przez zero"
  36. else
  37. let j=0;
  38. let k=0;
  39. while [ $j -lt ${#array[*]} ]
  40. do
  41. if [ $((${array[$j]}%$current)) -eq 0 ]; then
  42. divided[$k]=${array[$j]}
  43. let k=$k+1
  44. fi
  45. let j=$j+1
  46. done
  47. echo -n "Liczby podzielne przez $current: ${divided[*]}"
  48. if [ ${#divided[*]} -eq 0 ]; then
  49. echo "brak"
  50. else
  51. echo
  52. fi
  53. fi
  54. echo
  55. divided=()
  56. let i=$i+1
  57. done
  58. echo "Skrypt zakończył działanie."
  59. echo
  60. echo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement