Arch için Paket yöneticisi Yardım Betiği

Başlatan mhmtkrktr, 30 Mayıs 2016 - 13:03:13

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

mhmtkrktr

Kendime yeni eğlence buldum :)
Daha başlangıç aşamasında ama bir kaç saatlik çalışma için gayet iyi çalışıyor. Bu bölüm daha sonra ki ana seçeneklerin bir alt fonksiyonu olacak. En çok zorlanacağımı düşündüğüm bölüm olduğu için buradan başladım. Zaman içinde düzeltmelerini yaparım.

#!/bin/bash
clear; echo -e "\n\n"
red='\e[1;91m'; cyan='\e[1;36m'; cyan2='\e[2;36m'; magenta='\e[1;35m'; yellow='\e[1;33m'; white='\e[1;97m'; blue='\e[2;34m'; blue2='\e[1;34m' son='\e[0m'
[[ -f /tmp/paketci ]] || mkdir -p /tmp/paketci && pakt="/tmp/paketci"
_paket_bul () {
clear
yaourt -Ss $PK | grep -w '^core\|^extra\|^community\|^aur\|^multilib' | awk '{print NR": " $n}' >$pakt/yourt
rm $pakt/depo $pakt/depo2 $pakt/aur $pakt/aur2 2>/dev/null
cat $pakt/yourt | grep -wh '\<core\>' | awk '/\[installed\]/{print "\n" $1,$2}' | sed 's/core\// \[Cor\]  /g' >>$pakt/depo
cat $pakt/yourt | grep -wh '\<core\>' | grep -v 'installed' | awk '{print "\n" $1,$2}' | sed 's/core\// \[Cor\]  /g' >>$pakt/depo2

cat $pakt/yourt | grep -wh '\<extra\>' | awk '/\[installed\]/{print "\n" $1,$2}' | sed 's/extra\// \[Ext\]  /g' >>$pakt/depo
cat $pakt/yourt | grep -wh '\<extra\>' | grep -v 'installed' | awk '{print "\n" $1,$2}' | sed 's/extra\// \[Ext\]  /g' >>$pakt/depo2

cat $pakt/yourt | grep -wh '\<community\>' | awk '/\[installed\]/{print "\n" $1,$2}' | sed 's/community\// \[Cmm\]  /g' >>$pakt/depo
cat $pakt/yourt | grep -wh '\<community\>' | grep -v 'installed' | awk '{print "\n" $1,$2}' | sed 's/community\// \[Cmm\]  /g' >>$pakt/depo2

cat $pakt/yourt | grep -wh '\<aur\>' | awk '/\[installed\]/{print "\n" $1,$2}' | sed -e 's/aur\// \[Aur\]  /g' -e 's/installed/X/g' >>$pakt/aur
cat $pakt/yourt | grep -wh '\<aur\>' | grep -v 'installed' | awk '{print "\n" $1,$2}' | sed 's/aur\// \[Aur\]  /g' >>$pakt/aur2

cat $pakt/yourt | grep -wh '\<multilib\>' | awk '/\[installed\]/{print "\n" $1,$2}' | sed 's/multilib\// \[Mul\]  /g' >>$pakt/depo
cat $pakt/yourt | grep -wh '\<multilib\>' | grep -v 'installed' | awk '{print "\n" $1,$2}' | sed 's/multilib\// \[Mul\]  /g' >>$pakt/depo2

if [[ -s $pakt/aur2 ]] && [[ ! -s $pakt/aur ]]; then echo -e "\n\n $PK için\n\n Aur deposundan kurulmuş \n\n hiç paket bulunamadı.. \n\n" >$pakt/aur; elif [[ ! -s $pakt/aur2 ]] && [[ -s $pakt/aur ]]; then echo -e "\n\n $PK için\n\n Aur deposunda ki \n\n tüm paketler kurulmuş .." >$pakt/aur2; elif [[ ! -s $pakt/aur2 ]] && [[ ! -s $pakt/aur ]]; then echo -e "\n $PK sonucuna uyan \n\n kurulmuş bir paket \n\n bulunamadı.." >$pakt/aur; echo -e "\n $PK sonucuna uyan \n\n kurulabilecek bir paket \n\n bulunamadı.." >$pakt/aur2; fi

if [[ -s $pakt/depo2 ]] && [[ ! -s $pakt/depo ]]; then echo -e "\n\n $PK için\n\n Resmi depodan kurulmuş \n\n hiç paket bulunamadı.. \n\n" >$pakt/depo; elif [[ ! -s $pakt/depo2 ]] && [[ -s $pakt/depo ]]; then echo -e "\n\n Resmi depoda $PK \n\n sonucuna uyan tüm paketler\n\n kurulmuş .." >$pakt/depo2; elif [[ ! -s $pakt/depo2 ]] && [[ ! -s $pakt/depo ]]; then echo -e "\n $PK sonucuna uyan \n\n kurulmuş bir paket \n\n bulunamadı.." >$pakt/depo; echo -e "\n $PK sonucuna uyan \n\n kurulabilecek bir paket \n\n bulunamadı.." >$pakt/depo2; fi

extkurl=$(sdiff $pakt/depo $pakt/aur | sed -r 's/[<>|]//;s/(\t){2}//' )
aurkurl=$(sdiff $pakt/depo2 $pakt/aur2 | sed -r 's/[<>|]//;s/(\t){2}//')

echo -e "\n\t\t   $blue2  $PK$son$magenta Arama Sonucu,$cyan2 Kurulu$son$magenta Paket Listesi$son\n"
echo -e "\n $blue Resmi Depo Paketleri \t\t\t\t  Aur Depo Paketleri $son\n"
echo -e "\n $white $extkurl $son\n\n"; sleep 1
echo -e "\t\t$blue2  $PK$son$magenta Arama Sonucu,$cyan2 Kuruluma Hazır$son$magenta Paket Listesi$son\n"
echo -e "\n $blue Resmi Depo Paketleri \t\t\t\t  Aur Depo Paketleri $son\n"
echo -e "\n $yellow $aurkurl $son\n\n"
echo -ne "$blue**************************************************************************$son\n\n  $red [ S ]$white Paket Kurun \t  $red [ R ]$white Paket Kaldırın  $red  [ C ]$white Çıkış..$son\n\n "
read src; case $src in
[sS] ) echo -e "\n\t$yellow Kurmak istediğiniz paketin --sıra sayısını-- girin$son\n"
read -p "" sy ; sm="$sy:"
PKT="$(cat $pakt/yourt | grep -i "^$sm" | awk '{print $2}' | sed -e 's/aur\///' -e 's/extra\///' -e 's/core\///' -e 's/community\///' -e 's/multilib\///')"; clear
yaourt -S $PKT --noconfirm; _paket_bul ;;
[rR] ) echo -e "\n\t$yellow Kaldırmak istediğiniz paketin --sıra sayısını-- girin$son\n"
read -p "" sy ; sm="$sy:"
PKT=$(cat $pakt/yourt | grep -i "^$sm" | awk '{print $2}' | sed -e 's/aur\///' -e 's/extra\///' -e 's/core\///' -e 's/community\///' -e 's/multilib\///')
KONTR=$(sudo pacman -Qsq $PKT | grep -owh "\<$PKT\>" | sed -n 1p)
if [[ $PKT = $KONTR ]]; then clear; sudo pacman -R $PKT --noconfirm; _paket_bul
else echo -e "\n$red Kaldırmak istediğiniz paket sistemde kurulu değil. \n\n Yapmak istediğiniz işlemden emin olup tekrar deneyin..$son\n\n"; sleep 5; _paket_bul; fi
;; [cC] ) clear; exit ;; esac
}
clear
echo -ne "\n\n$cyan Aramak istediğiniz paketin adını girin:$son  "
read -p "" PK; _paket_bul









Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 30 Mayıs 2016 - 13:11:09

Not: Şuan en büyük sorunu, terminal penceresinin 90x45 gibi normal kullanımın biraz üstünde açılma zorunluluğu. Küçük ölcekli pencere de, sonuçlar biraz karışıyor. Bu sorunu aşacak çözüm daha oluşturmadığım ana seçenekte olacağı için, denemek isteyenler şimdilik belirttiğim ölçekte açabilirler.

cokomoko

Güzel beğendim, eline sağlık  ;)
''Eğer 386BSD ben Linux'a başladığımda var olsaydı, Linux büyük bir olasılıkla olmazdı."
........................Linus Torvalds..........................
İnsanın aradığı sadece huzur ve mutluluktur, 1 numara olmak yalnız kalmak demektir ve 1 numara kalmak için birçok şeyi feda etmek zorunda kalırsın...

mhmtkrktr

Teşekkür ederim.

Yardım kabul edilir, bunu da not geçeyim. :)

Reverser

Güzel bir şeye benziyor, emeğiniz için kendi adıma teşekkür ediyorum umarım geliştirmeye devam edersiniz.

XFCE ROCKS !
Powered by Thunar & XFWM4



mhmtkrktr

Daha başlangıç ve deneme aşamasında, çok daha ileri gidecek ama zamanla. Başlık için ben teşekkür ederim. Şu aşamada paket yönetimi gibi bir başlığın abartı olacağını düşündüğüm için bir başlık bulamamıştım ben.