User:Uluuk

From ICO wiki
Revision as of 00:25, 11 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
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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;