Skocz do zawartości

Przydatne Skrypty


broda

Rekomendowane odpowiedzi

skrypcik Renegade do oblugi sieci ala automat by koralm:

 

#!/bin/bash
echo "+---------------------------------+"
echo "| KONFIGURATOR SIECI LINUX FEDORA |"
echo "+---------------------------------+"
echo "Jako parametr podaj nazwe karty sieciowej (eth0, eth1, wlan0... itp.)"
echo "------------------------------"
while [ "$1" != "" ]
do
echo ""
echo "OBECNE USTAWIENIA KARTY $1"
echo ""
echo "------------------------------"
ifconfig $1
echo "------------------------------"
read
read -p "Podaj adres IP dla karty $1: " ip
read -p "Podaj maske dla sieci: " maska
read -p "Podaj brame sieci: " brama
read -p "Podaj podstawowy serwer DNS: " dns1
read -p "Podaj zapasowy serwer DNS: " dns2
ifconfig $1 down
ifconfig $1 $ip netmask $maska
route add default gw $brama
echo "nameserver $dns1" > /etc/resolv.conf
echo "nameserver $dns2" >> /etc/resolv.conf
echo "DEVICE=$1" > /etc/sysconfig/network-scripts/ifcfg-$1
echo "BOOTPROTO=static" >> /etc/sysconfig/network-scripts/ifcfg-$1
echo "ONBOOT=yes" >> /etc/sysconfig/network-scripts/ifcfg-$1
echo "TYPE=Ethernet" >> /etc/sysconfig/network-scripts/ifcfg-$1
echo "USERCTL=no" >> /etc/sysconfig/network-scripts/ifcfg-$1
echo "PEERDNS=yes" >> /etc/sysconfig/network-scripts/ifcfg-$1
echo "IPV6INIT=no" >> /etc/sysconfig/network-scripts/ifcfg-$1
echo "IPADDR=$ip" >> /etc/sysconfig/network-scripts/ifcfg-$1
echo "NETMASK=$maska" >> /etc/sysconfig/network-scripts/ifcfg-$1
echo "GATEWAY=$brama" >> /etc/sysconfig/network-scripts/ifcfg-$1
export mac=`ifconfig $karta |grep -e HWaddr | cut -d"r" -f3`
echo "HWADDR=$mac" >> /etc/sysconfig/network-scripts/ifcfg-$1

ifconfig $1 up

shift
done

Odnośnik do komentarza
Udostępnij na innych stronach

skrypt do zamazywania dyskow

 

#!/bin/bash
KONIEC="\033[0m"
ZIEL="\033[01;32m"
#uzycie ./kasujdysk

if [ $EUID = 0 ]; then
read -p "Podaj nazwe dysku do wymazania: " dysk
echo -e "Dostepne warianty:
1) /dev/zero
2) /dev/urandom"
read -p "Wpisz jeden z plików, ktore beda sluzyc do zamazywania: " metoda
read -p "Ile cykli zamazywania m,a sie odbyc? :" ile
echo -e "+-------------------------------+
Twoje ustawienia to:
dysk $dysk bedzie zamazywany z $metoda w $ile cyklach.
+-------------------------------+"
read -p "Czy to sie zgadza? (t/n) :" zgadza

if [ $zgadza = t ]
then  umount $dysk
until [ $ile = 0 ]; do cat $metoda > $dysk
ile=`echo "$ile-1" | bc -l`; done

else echo "Anulowano zamazywanie"
fi
echo -e "$ZIEL zakonczono zamazywanie $KONIEC"


else
echo -e  "$ZIEL nie masz wystarczajacych uprawnien do uruchomienia skryptu. zaloguj sie n konto roota $KONIEC"

fi

 

skrypt testowalem przez uzycie echo "$metoda > $dysk" a nie cat, wynik byl poprawny :)

jezeli ktos zdecyduje sie go uzyc to poprosze o danie cynku o tym :)

Odnośnik do komentarza
Udostępnij na innych stronach

ile=`echo "$ile-1" | bc -l`; done

 

Zamiast `polecenie` powinno stosowac sie $(polecenie) - nie jest odpalany nowy shell, przez co szybciej wykonywana jest komenda. Jeszcze zamiast bc uzylbym expr (uruchamiany jest tylko jeden program, a nie dwa):

 

[d*pa@X ~]$ ile=34
[d*pa@X ~]$ ile=$(expr $ile - 1)
[d*pa@X ~]$ echo $ile
33
[d*pa@X ~]$

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

Zamiast `polecenie` powinno stosować się $(polecenie) - nie jest odpalany nowy shell, przez co szybciej wykonywana jest komenda. Jeszcze zamiast bc użyłbym expr (uruchamiany jest tylko jeden program, a nie dwa):

 

[d*pa@X ~]$ ile=34
[d*pa@X ~]$ ile=$(expr $ile - 1)
[d*pa@X ~]$ echo $ile
33
[d*pa@X ~]$

 

gajownik masz ciekawego prompt'a :)

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra wrzuce cos od siebie.

Skrypt do sprawdzania pogody dla swojego miasta w danej chwili. Bardzo fajny jak siedzi sie dlugo pod konsola a nie chce sie wyjzec przez okno ;)

#!/usr/bin/perl

$miejsce = "Warszawa";
$www = "http://weather.yahoo.com/forecast/PLXX0028_c.html";
$tmp = "/tmp/.pogoda_tmp";

system("lynx -accept_all_cookies -dump $www >$tmp");
open(file, $tmp) or die "Pogoda: Could not open file $tmp\n";
$size  = (stat(file))[7]; #calkowity rozmiar pliku
sysread(file, $pom, $size);
close(file);

$pom =~ s/CEST..(.*?)>>/$1/sm;
$pom = ${1};

@tab = split(/\n/, $pom);
$tab[3] =~ s/ *//;
$tab[6] =~ s/ *//;
$tab[9] =~ s/ *//;
$tab[12] =~ s/ *//;
$tab[15] =~ s/ *//;
$tab[18] =~ s/ *//;
$tab[21] =~ s/ *//;
$tab[24] =~ s/ *//;

print "Weather in $miejsce is $tab[0]\n\t$tab[2] $tab[3]\n\t$tab[5] $tab[6]\n\t$tab[8] $tab[9]\n\t$tab[11] $tab[12]\n\t$tab[14] $tab[15]\n\t$tab[17] $tab[18]\n\t$tab[20] $tab[21]\n\t$tab[23] $tab[24]\n";
unlink($tmp);

Wszelkie uwagi co do ulepszenia mile widziane ale perl-only.

 

ps. dla innego miasta niz Warszawa wstawiamy odpowiedni link do $www pobrany z http://weather.yahoo.com.

Odnośnik do komentarza
Udostępnij na innych stronach

a sie kurde pochwale... moj pierwszy skrypt w dla basha :)

nazwalem go "wylacz_za_X_minut"

#!/bin/bash
echo -e "za ile minut ma sie wylaczyc komputer?\n"
read czas
sudo /sbin/shutdown -h +$czas Wylacz za $czas minut&
read
echo komputer sie wylaczy za $czas minut

tym samym dolaczylem do grona tworcow opensource ;)

moze nastepne skrypty beda bardziej pojechane, w sensie skomplikowane :)

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra wrzuce cos od siebie.

Skrypt do sprawdzania pogody dla swojego miasta w danej chwili. Bardzo fajny jak siedzi sie dlugo pod konsola a nie chce sie wyjzec przez okno ;)

#
system("lynx -accept_all_cookies -dump $www >$tmp");

Wszelkie uwagi co do ulepszenia mile widziane ale perl-only.

 

ps. dla innego miasta niz Warszawa wstawiamy odpowiedni link do $www pobrany z http://weather.yahoo.com.

uzyj curl

 

a sie kurde pochwale... moj pierwszy skrypt w dla basha :)

nazwalem go "wylacz_za_X_minut"

#!/bin/bash
echo -e "za ile minut ma sie wylaczyc komputer?\n"
read czas
sudo /sbin/shutdown -h +$czas Wylacz za $czas minut&
read
echo komputer sie wylaczy za $czas minut

tym samym dolaczylem do grona tworcow opensource ;)

moze nastepne skrypty beda bardziej pojechane, w sensie skomplikowane :)

#!/bin/bash
read -p "za ile minut ma sie wylaczyc komputer?" minuty
sekundy=$(echo "$minuty*60" | bc -l)
echo komputer sie wylaczy za $minuty minut
read -p czy to sie zgada? [t/n] zgadza
[ $zgadza = t ] && sleep $sekundy; poweroff || echo "nie wyrazono zgody"

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...