User:Uluuk

From ICO wiki
Revision as of 23:25, 10 May 2011 by Uluuk (talk | contribs) (Created page with '==Quest4== <source lang="bash"> #!/bin/bash #author: Urmas Luuk #group: A22 #version: 0.1 echo "" #kirjutan tĆ¼Ć¼p tekstid muutujasse: textHowToUse="Skripti kƤivitamiseks…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Quest4

#!/bin/bash
#author: Urmas Luuk
#group: A22
#version: 0.1
echo ""

#kirjutan tĆ¼Ć¼p tekstid muutujasse:
textHowToUse="Skripti kƤivitamiseks toimi jƤrgnevalt: $(basename $0) <ketas>"
textSample="NƤide: trash.sh /dev/sdb"

#Kontrollib, kas kasutajal on juurkasutaja Ƶigused
if [ $UID -ne 0 ]; then
  echo "KƤivita antud skripti $(basename $0) juurkasutaja Ƶigustes"
  exit 1
fi

echo "Antud skript Ć¼hendab lahti etteantud kettajaod ja saalealad"
echo "ning kustutab kƵik partatsioonid!"
echo ""

#Kontrollib, kas on esimene parameeter mƤƤratud ja kui ei ole siis Ƶpetab kuidas mƤƤrata
#Kui on mƤƤratud siis kontrollib kas selline ketas on olemas
if [ -z $1 ]
then
  echo "$textHowToUse"
  echo "$textSample"
  exit 1
fi

#Informeerib kastuajat, et antud skript kasutab ainult Ć¼hte parameetrit 
#ja Ć¼lejƤƤnuid ignoreeritakse
if [ $# -gt 1 ]; then
  echo "Hoiatus! Ainult Ć¼hte parameetrit vajatakse, Ć¼lejƤƤnuid ignoreeritakse"
  echo ""
fi

#Kontrollib kas kasutaja sisestatud tekstile vastab ka ketast
if [ -z "$(fdisk -l | grep -w $1)" ]; then
  echo "Ei leitud $1 ketast"
  echo ""
  echo "$textHowToUse"
  echo "$textSample"
  echo ""
  exit 1
fi

#kirjutan kasutaja sisestatud vƤƤrtuse muutujasse
device=$1

#kontrollib kas kettal on tĆ¼hi
if [ "$(fdisk -l $device | grep -c $device)" -le 1 ]; then
  echo "$device ei ole Ć¼htegi partatsiooni"
  echo ""
  exit 1
fi

#Hoiatab mida antud skript teeb ja kĆ¼sib kasutajalt kas soovib jƤtkata
echo "HOIATUS! Ɯhnedatakse lahti $device kettajaod ja saalealad"
echo "         ning kustutatakse kƵik partatsioonid Ƥra"
echo ""
echo ""
read -p "Kas soovid jƤtkata (y - jah)?" -n 1
echo ""
if [[ $REPLY =~ ^[^Yy]$ ]]
then
  echo "Skripti protsess ketkestatud"
  echo ""
  exit 2;
fi

echo "Alustab kettajagude lahtiĆ¼hendamist:"

#Kontrollitakse mis ketta partatsioonid on kĆ¼lge Ć¼hendatud ja Ć¼hendab need lehti
for result in "$(mount -s | grep  $device)"; do
  if [ -n "$result" ]; then
    set -- $result
    dev=$1
    shift
    echo "> unmount: $dev"
    umount $dev
    wait
  fi
done

echo "valmis!"
echo "Alustab swapide lahti Ć¼hendamist:"

#Kontrollib mis saale alad on kĆ¼lge Ć¼hendatud ja Ć¼hendab need lahti
for result in "$(swapon -s | grep $device)"; do
  if [ -n "$result" ]; then
    set -- $result
    dev=$1
    shift
    echo "> Swapoff: $dev"
    swapoff $dev
    wait
  fi
done

echo "valmis!"
echo ""

#Hoiatus enne ketta partatsioonide kustutamist
echo "Alustatakse partatsioonide kustutamisega"
echo ""
read -p "Kas soovid jƤtkata (y - jah)" -n 1
echo ""
if [[ $REPLY =~ ^[^Yy]$ ]]
then
  mount -a
  wait
  swapon -a
  wait
  echo "Skripti protsess katkestati"
  echo "Kettad Ć¼hendati tagasi kĆ¼lge"
  echo ""
  exit 2;
fi

if [ -n "$(fdisk -l $device | grep -w ${device}1)" ]; then
fdisk "$device" <<EOF1
d
1
w
EOF1
fi
if [ -n "$(fdisk -l $device | grep -w ${device}2)" ]; then
fdisk "$device" <<EOF2
d
2
w
EOF2
fi
if [ -n "$(fdisk -l $device | grep -w ${device}3)" ]; then
fdisk "$device" <<EOF3
d
3
w
EOF3
fi
if [ -n "$(fdisk -l $device | grep -w ${device}4)" ]; then
fdisk "$device" <<EOF4
d
4
w
EOF4
fi

echo "valmis!"
exit 0;