Advertisement
mesmariusz

install.sh

Feb 10th, 2019
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.87 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. for arg in "${@}"; do
  4. #  echo "---------------------------------------"
  5.   variable_name=${arg%%:*}
  6.   variable_content=${arg#*:}
  7.   eval ${variable_name}=\""$variable_content"\"
  8. #  echo "$variable_name -> $variable_content"
  9. done
  10.  
  11. echo "***********************"
  12. echo "* Zlecenie instalacji *"
  13. echo "***********************"
  14. if [ ! -z $packet ]
  15.   then
  16.     echo "Pakiet: $packet"
  17. fi
  18. if [ ! -z $source ]
  19.   then
  20.     echo "Źródło: $source"
  21. fi
  22. if [ ! -z "$repository" ]
  23.   then
  24.     echo "Repozytorium: $repository"
  25. fi
  26. if [ ! -z $installation_package ]
  27.   then
  28.     echo "Paczka instalacyjna: $installation_package"
  29. fi
  30. if [ ! -z "$download_address" ]
  31.   then
  32.     echo "Adres pobierania: $download_address"
  33. fi
  34.  
  35. echo "***********************"
  36.  
  37. #funkcje
  38.  
  39. install_from_deb () {
  40.   echo "$1 / $2 / $3"
  41.   echo "Instalacja pakietu deb: $1 ..."
  42.   if [ -e "$2" ]
  43.     then
  44.       echo "Paczka $2 pobrana na dysk, instalowanie..."
  45.     else
  46.       echo "Poieranie $2"
  47.       wget $3
  48.   fi
  49.   sudo dpkg -i $2
  50. }
  51.  
  52. install_from_snap () {
  53.   echo "Instalacja pakietu snap: $packet ..."
  54.   sudo snap install $1 --classic
  55. }
  56.  
  57. install_from_repo () {
  58.   echo "Instalacja pakietu z repozytorium: $packet ..."
  59.   sudo apt install $1 -y
  60. }
  61.  
  62.  
  63.  
  64. #  Sprawdzanie_czy_pakiet_zainstalowany_w_systemie
  65. status_instalacji=`dpkg-query -W -f='${Status}' $packet 2>/dev/null | grep -c "ok installed"`
  66. if [ $status_instalacji -eq 0 ]
  67.  then
  68.    if [ -z $repository ]
  69.      then
  70.        echo "Nowy wpis w repozytorium nie jest wymagany."
  71.      else
  72.        echo "Dodaję nowy wpis do repozytorium: $repository"
  73.        sudo add-apt-repository "$repository"
  74.        sudo apt update
  75.    fi
  76.  
  77.   case "$source" in
  78.     "repo") install_from_repo $packet ;;
  79.     "deb") install_from_deb $packet $installation_package $download_address ;;
  80.     "snap") install_from_snap $packet
  81.   esac
  82.  else
  83.   echo "Pakiet $packet jest już zainstalowany, pomijam instalację."
  84.   exit 222
  85. fi
  86. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement