Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- for arg in "${@}"; do
- # echo "---------------------------------------"
- variable_name=${arg%%:*}
- variable_content=${arg#*:}
- eval ${variable_name}=\""$variable_content"\"
- # echo "$variable_name -> $variable_content"
- done
- echo "***********************"
- echo "* Zlecenie instalacji *"
- echo "***********************"
- if [ ! -z $packet ]
- then
- echo "Pakiet: $packet"
- fi
- if [ ! -z $source ]
- then
- echo "Źródło: $source"
- fi
- if [ ! -z "$repository" ]
- then
- echo "Repozytorium: $repository"
- fi
- if [ ! -z $installation_package ]
- then
- echo "Paczka instalacyjna: $installation_package"
- fi
- if [ ! -z "$download_address" ]
- then
- echo "Adres pobierania: $download_address"
- fi
- echo "***********************"
- #funkcje
- install_from_deb () {
- echo "$1 / $2 / $3"
- echo "Instalacja pakietu deb: $1 ..."
- if [ -e "$2" ]
- then
- echo "Paczka $2 pobrana na dysk, instalowanie..."
- else
- echo "Poieranie $2"
- wget $3
- fi
- sudo dpkg -i $2
- }
- install_from_snap () {
- echo "Instalacja pakietu snap: $packet ..."
- sudo snap install $1 --classic
- }
- install_from_repo () {
- echo "Instalacja pakietu z repozytorium: $packet ..."
- sudo apt install $1 -y
- }
- # Sprawdzanie_czy_pakiet_zainstalowany_w_systemie
- status_instalacji=`dpkg-query -W -f='${Status}' $packet 2>/dev/null | grep -c "ok installed"`
- if [ $status_instalacji -eq 0 ]
- then
- if [ -z $repository ]
- then
- echo "Nowy wpis w repozytorium nie jest wymagany."
- else
- echo "Dodaję nowy wpis do repozytorium: $repository"
- sudo add-apt-repository "$repository"
- sudo apt update
- fi
- case "$source" in
- "repo") install_from_repo $packet ;;
- "deb") install_from_deb $packet $installation_package $download_address ;;
- "snap") install_from_snap $packet
- esac
- else
- echo "Pakiet $packet jest już zainstalowany, pomijam instalację."
- exit 222
- fi
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement