Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ES kolekcija shell skripti i programa

[es] :: Linux :: ES kolekcija shell skripti i programa

[ Pregleda: 1276 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

pgavrilo
Kulaši

Član broj: 146777
Poruke: 297
62.101.138.*

Sajt: www.yoyogames.com/games/s..


+1 Profil

icon ES kolekcija shell skripti i programa22.01.2011. u 10:44 - pre 161 meseci
Dosao sam na ideju da zajedno napravimo kolekciju shell skripti i licnih programa na es-u. Mislim bilo bi korisno nekome neka tudja shell skriptica koja radi posao, a takvu temu i nemamo. Svako ko zeli da postavi shell skriptu ili program treba da je malo opise i da objavi kod. Bilo bi pozeljno da se izbaci pomoc kada se ukuca './skripta.sh -h', kako se koristi jer se lako zaboravljaju argumenti koji se trebaju koristiti.

Komentari, sugestije i vasi licni skriptovi uvijek dobro dosli :D

[Ovu poruku je menjao pgavrilo dana 22.01.2011. u 12:54 GMT+1]
Dođite na http://www.yoyogames.com/games/show/74141 i pogledajte moje igrice i isto tako ocjenite ;)
 
Odgovor na temu

pgavrilo
Kulaši

Član broj: 146777
Poruke: 297
62.101.138.*

Sajt: www.yoyogames.com/games/s..


+1 Profil

icon Mjuza za uzivanje22.01.2011. u 10:52 - pre 161 meseci
Evo ja cu da prvim pocnem. Nocas sam napravio skriptu koja izabere odredjeni broj pjesama iz nekih foldera. I onda ih pusti nekim media plejr programom kao mplayer. Od znacajnijih opcija ima da ugasi racunar posle slusanja ili da kreira ram disk i u njih stavi pjesme(za one koji imaju bucan HDD). Ako imate folder od 400 pjesama program moze da izabere 15 pjesama, pusti ih da otpjevaju, i ugasi komp dok ste vi vec zaspali u krevetu :D . Skripta isto tako pretrazuje podfoldere. I na kraju evo koda:
Code:
#!/bin/bash
## FUNKCIJE
  pomoc () {
   echo 'KORISTITE [-h] [-t dir] [-r] [-d] [-e command] [-g] [-s] [-b n] DIREKTORIJUM(I)'
   echo '-h Ispisuje ovu pomoc'
   echo '-t dir kreira se temp direktorijum gde da se smjeste fajlove ako se ne navede onda "tmp-muzika"'
   echo '-r pravi ram disk i u njih smjesta fajlove, potrebno biti u sudo listi ili biti root'
   echo '-d ne brise temp dir nakon zavrsetka slusanja muzika'
   echo '-e command koristi externu komandu za pustanje pjesama, ako se nenavede koristi programe mplayer, mpg321 i mpg123'
   echo '-g gasi racunar posle zavrsetka slusanja, potrebno biti u sudo listi ili root'
   echo '-s bira pjesme na tenade :)  , nema ucinka ako se koristi sa -e'
   echo '-b n Koliko pjesama da izabere i stavi u tmp direktorijum, podrazumjevano 10'
   exit 1
   }
## END

## UZIMANJE ARGUMENATA
 # ZA ISPISIVANJE POMOCI
  if [ $# -eq 0 ]
  then
   pomoc
  fi
  if [ $1 = -h ]; then
   pomoc; fi

  # ISPITIVANJE OSTALIH ARGUMENATA
  # POSTAVLJANJE DEFAULT VRIJEDNOSTI
   tmp_muzike=tmp-muzika
   ram_disk=0  # NEPRAVI SE RAM DISK
   ne_brisi=0  # BRISE FAJLOVE POSLE SLUSANJA
   komanda=DEF # NIJE NAVEDENA EKSTERNA KOMANDA KORESTE SE DEFAUL
   gasi=0      # NE GASI POZAR POSLE MUZIKE :)
   tenade=0    # NE PEVA NA TENADE KAKO KAZE MOJA BABA :D
   broj=10     # BIRA 10 PESAMA OD FRLJUCKE xD
  #TRAZI ARGUMENTE KOJI SU ZADATI
  brojac=1
  brarg=$#
  while [ $brojac -le $brarg ]
  do
   if [ $1 = -t ]; then
    tmp_muzike=$2
    shift; shift; brojac=`expr $brojac + 1`
   elif [ $1 = -r ]; then
    ram_disk=1
    shift
   elif [ $1 = -d ]; then
    ne_brisi=1
    shift
   elif [ $1 = -e ]; then
     komanda=$2
     shift; shift; brojac=`expr $brojac + 1`
   elif [ $1 = -g ]; then
    gasi=1
    shift
   elif [ $1 = -s ]; then
    tenade=1
    shift
   elif [ $1 = -b ]; then
    broj=$2
    shift; shift; brojac=`expr $brojac + 1`
   fi
   brojac=`expr $brojac + 1`
  done
## END

## NASUMICNO BIRANJE LISTE PJESAMA
  mkdir  $tmp_muzike # KREIRANJE DIR-A
  if [ $ram_disk -eq 1 ]; then # PRAVLJENJE RAM DISKA
   sudo mke2fs /dev/ram0
   sudo mount /dev/ram0 $tmp_muzike
   sudo chmod -R 777 $tmp_muzike
  fi
  br_pesama=`find "$@" -name '*.mp3' | wc -l`; br_pesama=`expr $br_pesama - 1`
  for i in `seq 1 $broj`
  do
   br=$[ $RANDOM % $br_pesama + 1 ]
   pesma=`find "$@" -name '*.mp3' | sed -n "$br p"` ; cp "$pesma" $tmp_muzike
  done
## END

## PUSTANJE MUZIKE [GASENJE KOMPA] [I OSLOBADJANJE RESURSA]
  #PUSTANJE PJESAMA
  if [ $komanda = DEF ]; then 
    if [ $tenade -eq 0 ]; then
     mplayer $tmp_muzike/*
     if [ `echo $?` -eq 127 ]; then
      mpg321 $tmp_muzike/*; fi
     if [ `echo $?` -eq 127 ]; then
      mpg123 $tmp_muzike/*; fi
    elif [ $tenade -eq 1 ]; then
     mplayer -shuffle $tmp_muzike/*
     if [ `echo $?` -eq 127 ]; then
      mpg321 -z $tmp_muzike/*; fi
     if [ `echo $?` -eq 127 ]; then
      mpg123 -z $tmp_muzike/*; fi
    fi
  else
   $komanda tmp_muzike/* # Pokrece ekternu komandu
  fi

  #POSPREMANJE TEMP DIREKTORIJUMA
  if [ $ne_brisi -eq 0 ]; then
   rm -r $tmp_muzike/*
   echo "Brisanje temp direktorijuma..."
   if [ $ram_disk -eq 1 ]; then
    echo "Razmontiranje /dev/ram0" 
    sudo umount /dev/ram0; fi
   rmdir $tmp_mmuzike
  fi
  # GASENJE RACUNARA
  if [ $gasi -eq 1 ]; then
  echo "Gasenje racunara" 
  sleep 3
  sudo halt; fi
## END
exit 0


Primjeri: .mjuza.sh /Muzika
./mjuza.sh -r -g -s -t mjuza /Music/Bijelo\ Dugme /Muzika/RibljaCorba Divlje_Jagode/

Dođite na http://www.yoyogames.com/games/show/74141 i pogledajte moje igrice i isto tako ocjenite ;)
Prikačeni fajlovi
 
Odgovor na temu

pgavrilo
Kulaši

Član broj: 146777
Poruke: 297
62.101.138.*

Sajt: www.yoyogames.com/games/s..


+1 Profil

icon auto-mount skripta22.01.2011. u 11:47 - pre 161 meseci
Evo jedna mala skripta koja automatski montira sve ne montirane diskove, tako sto pravi folder po imenu uredjaja u tekucem folderu i na njih montira uredjaje.
Code:
#!/bin/bash
line=`sudo fdisk -l | grep /dev/ | egrep 'Linux|FAT' | grep -v swap | cut -c  1-9 | wc -l`
i=1
while  [ $i -le $line ]
 do
  str=`sudo fdisk -l | grep /dev/ | egrep 'Linux|FAT' | grep -v swap | cut -c 1-9 | sed -n "$i p"`
  sttr=`mount | grep $str`
  i=`expr $i + 1`

  if [ -z "$sttr" ]
  then
   echo -n "Kreiranje foldera "
   fold=`echo $str | cut -c 6-9`
   echo $fold
   mkdir $PWD/$fold
   echo "Montiranje $str na $PWD/$fold"
   sudo mount $str $PWD/$fold
  fi
 done


Da dodate jos fajl sistema samo dogradite ovu komandu: egrep 'Linux|FAT'. npr da montira NTFS treba ocako da lici: egrep 'Linux|FAT|NTFS'
Dođite na http://www.yoyogames.com/games/show/74141 i pogledajte moje igrice i isto tako ocjenite ;)
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Linux :: ES kolekcija shell skripti i programa

[ Pregleda: 1276 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.