[ÇÖZÜLDÜ]Bash İçin İşlem Bitince Çıkıs Sorusu Ekleme

Başlatan stratovarius, 01 Kasım 2010 - 13:47:12

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

stratovarius

Bu işlerden hiç anlamıyorum açıkcası, sorunumu şöyle anlatım;

Kubuntumda ubucleaner scriptini ana menüye bir program gibi tanıttım , ayrıca seçeneklerden terminalle birlikte çalıştırı seçtim.

Terminal açılıyor işlemleri yapıyor ama işi bitince direkt terminalide kapatıyor.

Ben terminalin kapanmasını istemiyor, bunun için sonuna top komutunu ekledim. Bu sayede top manuel iptal etmedikçe kapanmadığı için açık kalmasını sağladım.

Top dışında işlem bitti çıkış yapmamı istermisiniz tarzında bir soru eklenebilir mi ? Eklenirsede nasıl olur ?

Hiç anlamadığım için araştırdım ama bulamadım.

Basit bir sorun şimdiden teşekkürler.

Şu anki script içeriğim şu şekilde;

#!/bin/bash

OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"
RED="\033[0;31m"
ENDCOLOR="\033[0m"

if [ $USER != root ]; then
  echo -e $RED"Error: must be root"
  echo -e $YELLOW"Exiting..."$ENDCOLOR
  exit 0
fi

echo -e $YELLOW"indirilen dosyalar temizleniyor..."$ENDCOLOR
sudo apt-get clean

echo -e $YELLOW"Gerek duyulmayan programlar kaldırılıyor..."$ENDCOLOR
sudo apt-get autoremove

echo -e $YELLOW"Eski ayar dosyaları kaldırılıyor..."$ENDCOLOR
sudo apt-get purge $OLDCONF

echo -e $YELLOW"Eski kernel kaldırılıyor..."$ENDCOLOR
sudo apt-get purge $OLDKERNELS

echo -e $YELLOW"çöp kutuları temizleniyor..."$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
sudo rm -rf /root/.local/share/Trash/*/** &> /dev/null

echo -e $YELLOW"Eklenen depo yedekleri siliniyor..."$ENDCOLOR
sudo rm -rf /etc/apt/sources.list.d/*save

echo -e $YELLOW"Script Bitiriliyor!"$ENDCOLOR
top



hitokiri

Şimdi şurası yerine

echo -e $YELLOW"Script Bitiriliyor!"$ENDCOLOR

echo "İşlem Bitti Çıkış durumuna Geçilsin mi ?"
echo "1: Çık "
echo "2:Başka bi şey yap"
read girdi
if [ "$girdi" == "1" ];then
     exit
elif [ "$girdi" == "2" ];then
     yes "başka bi şey"
else
     exit
fi

bash yerleşikleri için help komutu yardımcı oluyor bu arada
help if
help -s if
gibi :)

stratovarius

@hitokiri teşekkürler.

Şu haliyle kapatmıyor ve sorması güzel oldu , en azından hata oluşursa çıktı alabilitim.

Hiç anlamadığım için bash  veya script işlerinden ancak elimde bir örnek olunca düzenleme yapabiliyorum.

Başlığı etikliyeyim :D




hitokiri

Hep öyle merak etmekten başlar sorun çözüldüğüne göre kolay gelsin diyelim :)

stratovarius

Umarım fazla merak salmam boş vakit bulmakta zorlanıyorum artık.

Bu sırada son hali şöyle oldu;

#!/bin/bash

OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"
RED="\033[0;31m"
ENDCOLOR="\033[0m"

if [ $USER != root ]; then
  echo -e $RED"Error: must be root"
  echo -e $YELLOW"Exiting..."$ENDCOLOR
  exit 0
fi

echo -e $YELLOW"İndirilen dosyalar temizleniyor..."$ENDCOLOR
sudo apt-get clean

echo -e $YELLOW"Gerek duyulmayan programlar kaldırılıyor..."$ENDCOLOR
sudo apt-get autoremove

echo -e $YELLOW"Eski ayar dosyaları kaldırılıyor..."$ENDCOLOR
sudo apt-get purge $OLDCONF

echo -e $YELLOW"Eski kernel kaldırılıyor..."$ENDCOLOR
sudo apt-get purge $OLDKERNELS

echo -e $YELLOW"Çöp kutuları temizleniyor..."$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
sudo rm -rf /root/.local/share/Trash/*/** &> /dev/null

echo -e $YELLOW"Eklenen depo yedekleri siliniyor..."$ENDCOLOR
sudo rm -rf /etc/apt/sources.list.d/*save

echo "İşlem Bitti Çıkış durumuna Geçilsin mi ?"
echo "1: Çık "
read girdi
if [ "$girdi" == "1" ];then
     exit
fi


Bana sorması yettiği için diğer kısmı kaldırdım. :P