Przydatne skrypty

Wyłącznie system! Wątpliwości dotyczące aplikacji proszę umieszczać niżej, w odpowiednich forach.
Awatar użytkownika
ubuproblem
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 169
Rejestracja: 30 lip 2007, 23:26
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME

Odp: Przydatne skrypty

Post autor: ubuproblem »

Dawno nic nie wrzucałem, więc...
... może mała wyszukiwarka tekstów piosenek? :D

Kod: Zaznacz cały

#!/bin/bash

function pre_exit {
	rm -rf tema1en.php*
}

echo -n "Wprowadź nazwę artysty: "
read artist
echo -n "Wprowadź tytuł utworu: "
read title
artist=`echo $artist | tr "[a-z]" "[A-Z]"`
title=`echo $title | tr "[a-z]" "[A-Z]"`
artist_download=`echo $artist | sed 's/ /\%20/'`
title_download=`echo $title | sed 's/ /\%20/'`

echo "Wyszukiwanie $artist - $title ..."
wget -q http://lyrc.com.ar/en/tema1en.php?artist="$artist_download"\&songname="$title_download"

if [ ! -e tema1en.php?artist="$artist"\&songname="$title" ]
then
	echo "Operacja nie powiodła się..."
	pre_exit
	exit 1
fi

if [ -n "`cat tema1en.php?artist="$artist"\&songname="$title" | grep "Nothing found :"`" ]
then
	echo "Nie znaleziono napisów."
	pre_exit
	exit 1
fi

if [ -n "`cat tema1en.php?artist="$artist"\&songname="$title" | grep "If none is your song"`" ]
then
	cat tema1en.php?artist="$artist"\&songname="$title" | grep Suggestions > suggestions
	while [ -n "`cat suggestions | grep '>'`" ]
	do	
		cat suggestions | sed "s/>/\n/" > suggestions
	done
	cat suggestions | grep "</font" | grep -v "Add a lyric</font" | sed "s/<\/font//" > suggestions

	echo -e "\nNie znaleziono napisów.\nByć może chodziło Ci o któreś z poniższych:\n"
	cat suggestions
	echo
	rm suggestions
	pre_exit	
	exit 1
fi

cat tema1en.php?artist="$artist"\&songname="$title" | tail -$[`cat -n tema1en.php?artist="$artist"\&songname="$title" | tail -1 | awk '{print $1}'`-129] > "$artist-$title.txt"

end_text=$[`cat -n "$artist-$title.txt" | grep '<script type="text/javascript"><!--' | head -1 | awk '{print $1}'`-2]

cat "$artist-$title.txt" | head -$end_text > "$artist-$title.txt"
remove="

<a href=\"#\" onClick=\"javascript:window.open('badsong.php?songname=$title&artist=$artist','aa','width=200,height=100')\">BADSONG<\/a>"
cat "$artist-$title.txt" | sed "s/$remove//" > "$artist-$title.txt"
cat "$artist-$title.txt" | grep -v "

" > "$artist-$title.txt"
cat "$artist-$title.txt" | sed "s/<br \/>//" > "$artist-$title.txt"
cat "$artist-$title.txt" | sed "s/<\/script><\/td><\/tr><\/table>//" > "$artist-$title.txt"

thxf=`cat "$artist-$title.txt" | grep "<p><hr size=1 noshade color=white width=100%><font color='#E9AF03'>"`

if [ -n "$thxf" ]
then
	spam1="<p><hr size=1 noshade color=white width=100%><font color='#E9AF03'>"
	spam2="<\/font><\/p>"

	cat "$artist-$title.txt" | sed "s/$spam1//" > "$artist-$title.txt"
	cat "$artist-$title.txt" | sed "s/$spam2//" > "$artist-$title.txt"
fi

echo -e "$artist - $title\n\n`cat \"$artist-$title.txt\"`" > "$artist-$title.txt"

echo -e "Zakończono sukcesem. \nNapisy zapisano do `pwd`/$artist-$title.txt"
pre_exit
exit 0
W razie jakiś błędów, prosiłbym o info na PW... Ja jednak żadnych błędów nie napotkałem a trochę się tym bawiłem.

EDIT:
karmelek pisze:Prosty skrypt konwertujący wma do mp3

Kod: Zaznacz cały

#!/bin/bash
echo "Podaj plik *.wma"
read plik
mplayer "$plik" -ao pcm -ao pcm:file="~/tmp.wav" && \
lame -h ~/tmp.wav output.mp3 && \
rm -f tmp.wav
echo "FINISHED"
Drobna modyfikacja:

Kod: Zaznacz cały

#!/bin/bash
echo -n "Podaj ścieżkę pliku *.wma: "
read plik #nie wiem jak dla Ciebie, ale dla mnie tak to wygląda nieco lepiej ;)
mplayer "$plik" -ao pcm -ao pcm:file="~/tmp.wav" && \
lame -h ~/tmp.wav `echo $plik | sed 's/.wma/.mp3/'` && \ #Dzięki temu program zapisze plik docelowy pod taką samą nazwą z nowym rozszerzeniem
rm -f tmp.wav
echo "ZAKOŃCZONE" # Hmm... Skoro skrypt jest interaktywny i instruuje użytkownika w jednym języku, to myślę, że powinno tak być do końca.
Generalnie dobry pomysł.
Można by było to do nieskończoności rozszerzać.

EDIT:
Napisałem dzisiaj skrypt do wyświetlania czasu w słowach (np. siedemnasta czterdzieści cztery)
Enjoy

Kod: Zaznacz cały

#!/bin/bash
czas=`date | awk '{print $5}' | tr ":" " "`
godzina=`echo $czas | awk '{print $1}'`
minuta=`echo $czas | awk '{print $2}'`
case "$godzina" in
00)
	echo -n "Dwudziesta czwarta "
	;;
01)
	echo -n "Pierwsza "
	;;
02)
	echo -n "Druga "
	;;
03)
	echo -n "Trzecia "
	;;
04)
	echo -n "Czwarta "
	;;
05)
	echo -n "Piąta "
	;;
06)
	echo -n "Szósta "
	;;
07)
	echo -n "Siódma "
	;;
08)
	echo -n "Ósma "
	;;
09)
	echo -n "Dziewiąta "
	;;
10)
	echo -n "Dziesiąta "
	;;
11)
	echo -n "Jedenasta "
	;;
12)
	echo -n "Dwunasta "
	;;
13)
	echo -n "Trzynasta "
	;;
14)
	echo -n "Czternasta "
	;;
15)
	echo -n "Piętnasta "
	;;
16)
	echo -n "Szesnasta "
	;;
17)
	echo -n "Siedemnasta "
	;;
18)
	echo -n "Osiemnasta "
	;;
19)
	echo -n "Dziewiętnasta "
	;;
20)
	echo -n "Dwudziesta "
	;;
21)
	echo -n "Dwudziesta pierwsza "
	;;
22)
	echo -n "Dwudziesta druga "
	;;
23)
	echo -n "Dwudziesta trzecia "
	;;
esac

case "$minuta" in
00)
	echo -n ""
	;;
01)
	echo -n "jeden"
	;;
02)
	echo -n "dwa"
	;;
03)
	echo -n "trzy"
	;;
04)
	echo -n "cztery"
	;;
05)
	echo -n "pięć"
	;;
06)
	echo -n "sześć"
	;;
07)
	echo -n "siedem"
	;;
08)
	echo -n "osiem"
	;;
09)
	echo -n "dziewięć"
	;;
10)
	echo -n "dziesięć"
	;;
11)
	echo -n "jedenaście"
	;;
12)
	echo -n "dwanaście"
	;;
13)
	echo -n "trzynaście"
	;;
14)
	echo -n "czternaście"
	;;
15)
	echo -n "piętnaście"
	;;
16)
	echo -n "szesnaście"
	;;
17)
	echo -n "siedemnaście"
	;;
18)
	echo -n "osiemnaście"
	;;
19)
	echo -n "dziewiętnaście"
	;;
20)
	echo -n "dwadzieścia"
	;;
21)
	echo -n "dwadzieścia jeden"
	;;
22)
	echo -n "dwadzieścia dwa"
	;;
23)
	echo -n "dwadzieścia trzy"
	;;
24)
	echo -n "dwadzieścia cztery"
	;;
25)
	echo -n "dwadzieścia pięć"
	;;
26)
	echo -n "dwadzieścia sześć"
	;;
27)
	echo -n "dwadzieścia siedem"
	;;
28)
	echo -n "dwadzieścia osiem"
	;;
29)
	echo -n "dwadzieścia dziewięć"
	;;
30)
	echo -n "trzydzieści"
	;;
31)
	echo -n "trzydzieści jeden"
	;;
32)
	echo -n "trzydzieści dwa"
	;;
33)
	echo -n "trzydzieści trzy"
	;;
34)
	echo -n "trzydzieści cztery"
	;;
35)
	echo -n "trzydzieści pięć"
	;;
36)
	echo -n "trzydzieści sześć"
	;;
37)
	echo -n "trzydzieści siedem"
	;;
38)
	echo -n "trzydzieści osiem"
	;;
39)
	echo -n "trzydzieści dziewięć"
	;;
40)
	echo -n "czterdzieści"
	;;
41)
	echo -n "czterdzieści jeden"
	;;
42)
	echo -n "czterdzieści dwa"
	;;
43)
	echo -n "czterdzieści trzy"
	;;
44)
	echo -n "czterdzieści cztery"
	;;
45)
	echo -n "czterdzieści pięć"
	;;
46)
	echo -n "czterdzieści sześć"
	;;
47)
	echo -n "czterdzieści siedem"
	;;
48)
	echo -n "czterdzieści osiem"
	;;
49)
	echo -n "czterdzieści dziewięć"
	;;
50)
	echo -n "pięćdziesiąt"
	;;
51)
	echo -n "pięćdziesiąt jeden"
	;;
52)
	echo -n "pięćdziesiąt dwa"
	;;
53)
	echo -n "pięćdziesiąt trzy"
	;;
54)
	echo -n "pięćdziesiąt cztery"
	;;
55)
	echo -n "pięćdziesiąt pięć"
	;;
56)
	echo -n "pięćdziesiąt sześć"
	;;
57)
	echo -n "pięćdziesiąt siedem"
	;;
58)
	echo -n "pięćdziesiąt osiem"
	;;
59)
	echo -n "pięćdziesiąt dziewięć"
	;;
esac
echo
xutywx
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 26 maja 2008, 16:12
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME

Odp: Przydatne skrypty

Post autor: xutywx »

Szósta :)
Awatar użytkownika
ryniek
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 188
Rejestracja: 21 lis 2007, 16:48
Płeć: Mężczyzna
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Przydatne skrypty

Post autor: ryniek »

RYNIEK pisze:Skrypt do pobierania informacji o ilości nowych wiadomości ze skrzynki WP.PL
[link]

W przypadku gdy link wygaśnie, zamieszczam poniżej archiwum.

Skrypt dodajemy do configa Conky np. tak:

Kod: Zaznacz cały

${font}${color}${color burlywood}${font :size=10}Poczta@WP.PL: ${font :size=9}${execi 60 ~/Skrypty/pocztawp.py}${color burlywood}
a uruchamiamy tak:

Kod: Zaznacz cały

python /home/user/Skrypty/pocztawppl.py
Nie wolno jednocześnie sprawdzać skryptem ilości nowych wiadomości oraz odczytywać za pomocą klienta e-mail, gdyż otrzymamy wyjątek. Do tego samego konta skrzynki wp.pl nie mogą mieć dostępu dwa programy/dwie osoby na raz. W GMailu nie ma takich problemów gdyż jest Atom.

Dodałem obsługę GMail i TlenPoczty - o2.

LINK.
Dropbox invite: http://tinyurl.com/dropbox-invite
Stop złym praktykom sprzedaży oprogramowania wraz z sprzętem - http://uwolnijlaptopa.pl/
Awatar użytkownika
ubuproblem
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 169
Rejestracja: 30 lip 2007, 23:26
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME

Odp: Przydatne skrypty

Post autor: ubuproblem »

xutywx pisze:Szósta :)
Poprawione :P
Zagapiłem się :craz:

A to wersja w Pythonie:

Kod: Zaznacz cały

# -*- coding: utf-8 -*-
import time

godziny = ['dwunasta', 'pierwsza', 'druga', 'trzecia', 'czwarta', 'piąta', 'szósta', 'siódma', 'ósma', 'dziewiąta', 'dziesiąta', 'jedenasta', 'dwunasta', 'trzynasta', 'czternasta', 'piętnasta', 'szesnasta', 'siedemnasta', 'osiemnasta', 'dziewiętnasta', 'dwudziesta', 'dwudziesta pierwsza', 'dwudziesta druga', 'dwudziesta trzecia', 'dwudziesta czwarta' ]

minuty = ['zero', 'jeden', 'dwa', 'trzy', 'cztery', 'pięć', 'sześć', 'siedem', 'osiem', 'dziewięć', 'dziesięć', 'jedenaście', 'dwanaście', 'trzynaście', 'czternaście', 'piętnaście', 'szesnaście', 'siedemnaście', 'osiemnaście', 'dziewiętnaście', 'dwadzieścia', 'dwadzieścia jeden', 'dwadzieścia dwa', 'dwadzieścia trzy', 'dwadzieścia cztery', 'dwadzieścia pięć', 'dwadzieścia sześć', 'dwadzieścia siedem', 'dwadzieścia osiem', 'dwadzieścia dziewięć', 'trzydzieści', 'trzydzieści jeden', 'trzydzieści dwa', 'trzydzieści trzy', 'trzydzieści cztery', 'trzydzieści pięć', 'trzydzieści sześć', 'trzydzieści siedem', 'trzydzieści osiem', 'trzydzieści dziewięć', 'czterdzieści', 'czterdzieści jeden', 'czterdzieści dwa', 'czterdzieści trzy', 'czterdzieści cztery', 'czterdzieści pięć', 'czterdzieści sześć', 'czterdzieści siedem', 'czterdzieści osiem', 'czterdzieści dziewięć', 'pięćdziesiąt', 'pięćdziesiąt jeden', 'pięćdziesiąt dwa', 'pięćdziesiąt trzy', 'pięćdziesiąt cztery', 'pięćdziesiąt pięć', 'pięćdziesiąt sześć', 'pięćdziesiąt siedem', 'pięćdziesiąt osiem', 'pięćdziesiąt dziewięć', 'sześćdziesiąt']

s_godz = [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]

def get_time(tryb):
	godz = int(time.localtime()[3])
	min = int(time.localtime()[4])
	if tryb == 12:
		godz = s_godz[godz]

	godz_h = godziny[godz]
	min_h = minuty[min]

	return godz_h+' '+min_h
Jest to w formie biblioteki. Podajemy jedynie parametr cokolwiek (dla trybu 24-godzinnego), lub 12 (dla trybu 12-godzinnego)
LukAs
Wytworny Kaczor
Wytworny Kaczor
Posty: 284
Rejestracja: 30 paź 2005, 21:56
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Przydatne skrypty

Post autor: LukAs »

Click (tak to nazwałem), program skryptowy do podstawowej administracji systemu Ubutnu. Kilka linijek kodu, ale potrafi całkiem sporo tj:
  • wszystkie informacje pobiera z plików tekstowych (kodeki, programy, repozytoria_ubuntu), więc to user decyduje o tym co w systemie ma się znaleźć i jak ma on wygladać.
  • czytając plik, pomija puste i zahaszowane linie. Pozwala to na komentowanie programów i umożliwia swobodne decydowanie o tym co w danej chwili będzie instalowane. Zamienia też w nazwach programów duże litery na małe tak, żeby menedżer pakietów apt-get nie zwracał błędu "nie odnaleziono pakietu".
  • uruchamia się po podwójnym kliknięciu, więc ZU nie będzie miał problemów z jego obsługą.
  • umożliwia instalację kodeków, programów lub wszystkiego na raz nie pytając o potwierdzenie dzięki opcji "-y --force-yes"
  • automatycznie aktualizuje i upgraduje system nie czekając na reakcję użytkownika.
  • dostarcza podstawowe informacje o systemie tj:

System operacyjny: Linux
Nazwa dystrybucji: Ubuntu
Wersja: 9.10
Pełna nazwa dystrybucji: Ubuntu karmic (development branch)
Nazwa komputera w sieci: lenovo

Zalogowany użytkownik: lukas
Katalog użytkownika lukas: /home/lukas
  • automatycznie sprząta po instalacji i aktualizacji.
  • wyświetla informacje o podanie hasła obecnie zalogowanego użytkownika.
  • dla nowych użytkowników dostępny jest samouczek_ubuntu a w nim informacje o: repozytoriach, sterownikach otwartychh i tych dostarczanych przez firmy trzecie, narzędziach do ustawień ekranu i najczęściej spotykane polecenia powłoki + objaśnienie (proszę o info jak coś do poprawki).
  • napisany dla znajomych, ZU i przyjemności.
Update 2.11.2009
  • dodałem pliki: repozytoria_ubuntu-9.04 i repozytoria_ubuntu-9.10 łącznie z automatycznym rozpoznawaniem wersji Ubuntu i wczytaniem adresów z odpowiedniego pliku.
  • dopisałem do pakietów: sun-java6-jre sun-java6-plugin "-" tak, żeby apt-get je pominął przez komunikat "nie zostały zainstalowane, więc nie zostaną usunięte".
Update 13.11.2009
  • dodano wyświetlanie odpowiednich komunikatów o nieprawidłowościach m.in."Błąd!" lub "Gotowe!"- dzięki manipulacji operatorami && i ||. Inne komunikaty to np.:

    - Błąd! (Prawdopodobnie dostęp do internetu został przerwany)
    - Błąd! (Nie udało się odnaleźć pakietu ffdshow lub w nazwie występuje błąd)
  • dodałem do pliku RADME informacje o działaniu pprogramu, podstawach obsługi. Wiekszość pochodzi m.in. stąd.
Update 26.11.2009
  • dodano automatyczny import kluczy publicznych.
Update 1.12.2009
  • zmiany kosmetyczne m.in.:
  • - komunikat "Import kluczy publicznych" gdy jest taka konieczność. W innym przypadku tj. gdy wszystkie klucze zostały zaimportowane, komunikat się nie wyswietli.

    Obrazek
Update 12.02.2010
  • poprawki
  • dodano Narzędzia systemu Ubuntu:
    - Naprawa uszkodzonych pakietów.
    - Sprzątanie po aktualizacji.
    - Blokada aktualizacji programu
    - Rozszerzenie funkcji Nautilusa (baza przydatnych skryptów: konwerter obrazów, konverter video.
Download cliCk-2.0
Więcej o mnie znajdziesz na: http://ospulse.pl
lukasz_zapomin
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 26 paź 2009, 11:37
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Przydatne skrypty

Post autor: lukasz_zapomin »

Coś mi nie działa:
W pkt. 6 skryptu "Zainstaluj kodeki, Flasha, Javę, RAR-a, 7-Zipa, MS fonty..."
najpierw skrypt wysypał mi sie przy banalnej próbie akceptacji regulaminu javy (który to regulamin wywalił mi terminal i stanął). Ponowna próba uruchomienia terminala i pkt. 6 (ale i pkt. 7,8,9,10,11,12) zaowocowała komunikatem:

dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

jestem ciemniak w dodatku ani linuxa ani angielskiego nie znam i nie wiem co z tym począć

(za to pkt. 13 pięknie przenosi mnie na to forum :D)
majoballs

Odp: Przydatne skrypty

Post autor: majoballs »

lukasz_zapomin pisze:dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
To znaczy, że powinieneś wpisać

Kod: Zaznacz cały

sudo dpkg --configure -a
aby naprawić problem jaki pojawił się z instalacją.
dawidgarus
Wytworny Kaczor
Wytworny Kaczor
Posty: 418
Rejestracja: 09 lut 2007, 23:17
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Przydatne skrypty

Post autor: dawidgarus »

ubuproblem, chciało ci się pisać każdą minutę po kolei? nie lepiej zrobić od 1-20, 30, 40, 50 i zrobić taki trik (pythona nie znam, ale napisałem w php):

Kod: Zaznacz cały

$min_h = ($minuty[$min] ? $minuty[$min] : $minuty[floor($min/10)*10].' '.$minuty[$min%10]);
podobnie z godzinami:

Kod: Zaznacz cały

if ($tryb == 12) { $godz = (($godz+11) % 12)+1; }
i tablice s_godz można wywalić.
LukAs
Wytworny Kaczor
Wytworny Kaczor
Posty: 284
Rejestracja: 30 paź 2005, 21:56
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Przydatne skrypty

Post autor: LukAs »

lukasz_zapomin, używałem skryptu na kilku komputerach i różnych systemach tj. Ubu 8.10, 9.04 i Ubu Alpha, Beta 9.10 bez jakichkolwiek problemów. Skrypty zależne są od powłoki systemowej, jej wbudowanych poleceń i programów. Mój skrypt sam z siebie nie może powodować jakichkolwiek problemów.

Gdybyś wyciągnął z tego skryptu ten fragemnt kodu

Kod: Zaznacz cały

sudo apt-get install -y --force-yes $(sed -e '/#/d' < kodeki | tr '[A-Z' '[a-z]')
i zamienił na

Kod: Zaznacz cały

sudo apt-get install -y --force-yes sun-java6-jre sun-java6-plugin
to też by Ci się zes.... ;) Ale zz jakiego powodu tak się stało, to nie wiem.

Zabawne, że cały czas myślałem o tej durnej javie bo wymaga zaakceptowania licencji przez co cały proces instalacji staje i czeka na akceptację. Niestety nie mam pojęcia jak i czy w ogóle da się to obejść.

Da sie zrobić tak, że java zostanie tylko pobrana, ale to też nie rozwiązuje problemu.

Edit. A tak szczerze to nic z tego co napisałeś nie rozumiem. Sprawdzałem przed chwilą na zaktualizowanym Ubuntu 9.10 RC i instalacja javy poszła bez problemu.

[ OK ] -> [ tak ] i po instalacji
Konfigurowanie sun-java6-plugin (6-15-1) ...

Przetwarzanie wyzwalaczy dla libc-bin...
ldconfig deferred processing now taking place

Gotowe!!!
Więcej o mnie znajdziesz na: http://ospulse.pl
lukasz_zapomin
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 26 paź 2009, 11:37
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Przydatne skrypty

Post autor: lukasz_zapomin »

No i zrobiłem to: wpisałem owo zaklęcie w nowej sesji terminala. I chyba dobrze, bo coś tam popisał w niezrozumiałym dla mnie technicznym języku, ale słowa error czy bug nie padły :) Okazało się, że bez tego zaklęcia nie chciał ruszyć menedżer pakietów. Pluł się właśnie o tę komendę. Wytłumaczcie mi:
dlaczego przy każdym uruchomieniu (zainstalowanego już na dysku) ubuntu menedżer woła o tę komendę ponownie. Wkurza mnie to. Nie dałoby się wpisać tej komendy tak, żeby sobie ją zapamiętał?

post skrócony po sugestii LukAsa
LukAs
Wytworny Kaczor
Wytworny Kaczor
Posty: 284
Rejestracja: 30 paź 2005, 21:56
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Przydatne skrypty

Post autor: LukAs »

lukasz_zapomin, skontaktuję się z Tobą przez PW bo to nie jest miejsce na rozwiązywanie problemów. I tak już za duży zrobił się śmietnik.

Ps. Mam nadzieje, że zainteresowałeś się chociaż pierwszym tematem z mojego poradnika? Odpowiedz na PW.
Ps 2 Jak możesz, to wyślij mi powyższy tekst na PW, a potem usuń to co powyżej zostawiając krótką wiadomość.

Nie jesteśmy tu sami ;)

Ps 3 W wierszu z javą do każdego pakietu wystarczy dopisać opcje "-d" co jest informacją dla menedżera apt-get, żeby tylko pobrał programy bez instalacji. Update. Nie jest to dobry pomysł. Lepiej dopisać "-", co informuje apt-get, zeby usuną javę. Jeśli jej nie ma, to wyświetli komunikat "nie usunąłem bo nie było zainstalowane" i w efekcie pominie pakiet.
## Java
sun-java6-jre -d sun-java6-plugin -d
Pobrano 12,2MB w 3min 7s (65,3kB/s)
Ukończono pobieranie w trybie samego pobierania

Gotowe!!!
Ps 4
a jak się jeszcze człowiek nie zna na na tych kosmicznych zaklęciach
Ps 5 A w moim poradniku, który składa się tylko z 5 stron z czego połowo to grafika, kilka razy w prosty sposób wyjasniam podstawy pracy z terminalem i opisem jak to wszytko działa. Dla Ciebie, to 15 minut czytania ze zrozumieniem, a wiesz ile ja musiałem włożyć w to pracy???

Dobrze, że tak się stało. Umieszczę krótką informację o aplikacjach, które wymagają akceptacji licencji producenta. Pomyślę o jakimś sensownym rozwiązaniu tego problemu.
Więcej o mnie znajdziesz na: http://ospulse.pl
Awatar użytkownika
ciaastek
Piegowaty Guziec
Piegowaty Guziec
Posty: 7
Rejestracja: 04 lip 2006, 06:55
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Przydatne skrypty

Post autor: ciaastek »

Mam pytanie co do tego skryptu: viewtopic.php?p=462135#p462135

Da radę coś takiego zmodyfikować do kombinacji win7 i ubuntu 9.10? :)
outslider
Sędziwy Jeż
Sędziwy Jeż
Posty: 68
Rejestracja: 03 lis 2007, 23:14
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Przydatne skrypty

Post autor: outslider »

Szczerze mówiąc, napisałem to kawał czasu temu, jest w tym sporo zamieszania, bo znacznie mniej się orientowałem w konsoli wówczas.

Wydaje mi się, że generalnie powinno to działać również dla Win7, ale dobrze by było, żeby się temu układowi skryptów przyjrzeć.

Pamiętaj, że grzebanie w GRUBIe może mieć różne konsekwencje, więc najpierw upewnij się, że wszystko zrobiłeś ok.

Na razie nie mam czasu analizować tych skryptów, ani tym bardziej przerabiać, ale zachęcam, abyś sam poeksperymentował. Tylko, jak ostrzegam, uważnie.

Najlepiej spróbuj na wirtualnym kompie (VirtualBox, czy coś). Ja tak przygotowywałem to coś.

Pozdro!
Awatar użytkownika
aceb
Sędziwy Jeż
Sędziwy Jeż
Posty: 38
Rejestracja: 15 maja 2008, 19:35
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Przydatne skrypty

Post autor: aceb »

Witam
Poszukuje skryptu albo osoby która mi go napisze:) otóż chodzi mi o to aby polecenie
sensors
zapisywało mi logi do katalogu
/home/moja nazwa uzytkownika/logs
tak jak mam to z hddtemp ktore raz dziennie zapisuje mi logi w pliku .txt ktore moge potem odczytac.Chciałbym miec rowniez wgląd z temperature procesora oraz wiatraczka.Z góry dziękuje.
Awatar użytkownika
urbinek
Sędziwy Jeż
Sędziwy Jeż
Posty: 44
Rejestracja: 03 wrz 2007, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Kontakt:

Odp: Przydatne skrypty

Post autor: urbinek »

odpalasz crona jako user

Kod: Zaznacz cały

crontab -e
i tam wpisujesz

Kod: Zaznacz cały

*/9 * * * * sensors >> /home/moja nazwa uzytkownika/logs/sensors.log
co zrobi ci dumpa z polecenia sensors co 9 minut

ewentualnie zmodyfikuj sobie wzorzec wywołania crona, z tym że podałeś zamało danych jak to ma wyglądać wiec baw się sam :P
ciasteczko =D
tig33r
Piegowaty Guziec
Piegowaty Guziec
Posty: 2
Rejestracja: 01 lut 2009, 18:46
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86

Odp: Przydatne skrypty

Post autor: tig33r »

Skrypt, którego używam do odnawiania ip na routerze Pentagram Cerberus 6331-42

Kod: Zaznacz cały

#!/usr/bin/expect -f

set HOST "192.168.1.100"
set PASS "pentagram"
set timeout 3
spawn telnet "$HOST"
send "$PASS\r"
send "wan adsl reset\r"
send "exit\r"
expect eof
Awatar użytkownika
pyx-84
Sędziwy Jeż
Sędziwy Jeż
Posty: 97
Rejestracja: 28 paź 2008, 21:35
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Przydatne skrypty

Post autor: pyx-84 »

Wyświetlanie "czystego" kodu języka C bez komentarzy

Mamy kod.c

Kod: Zaznacz cały

#include <stdio.h>

/* funkcja main */
int main(void)
{
    printf ("Hello, world!\n");
    return 0;
}
# lolz :D
// koniec
Uruchamiamy sh strip.sh kod.c

Kod: Zaznacz cały

#!/bin/bash
# Wyswietlanie "czystego" kodu jezyka C bez komentarzy wielolinijkowych /* */
# i jednolinijkowych // oraz #
# Uzycie:
# sh strip.sh kod.c

E_NOARGS=0
E_ARGERROR=66
E_WRONG_FILE_TYPE=67

if [ $# -eq "$E_NOARGS" ]
then
  echo "Uzycie: `basename $0` C-program-file" >&2
  exit $E_ARGERROR
fi  

# Testujemy poprawnosc typu danego pliku
type=`file $1 | awk '{ print $2, $3, $4, $5 }'`
correct_type="ASCII C program text"

if [ "$type" != "$correct_type" ]
then
  echo
  echo "Ten skrypt dziala tylko na plikach C"
  echo
  exit $E_WRONG_FILE_TYPE
fi  


sed '
/^\/\*/d
/.*\*\//d
/^$/d
/^#/d   # Nie wyswietlamy znaku #
\/^\//d # Nie wyswietlamy //
' $1

exit 0

uzycie() {
  echo "Uzycie: `basename $0` C-program-file" >&2
  exit 1
}

WEIRD=`echo -n -e '\377'`   # or WEIRD=$'\377'
[[ $# -eq 1 ]] || usage
case `file "$1"` in
  *"C program text"*) sed -e "s%/\*%${WEIRD}%g;s%\*/%${WEIRD}%g" "$1" \
     | tr '\377\n' '\n\377' \
     | sed -ne 'p;n' \
     | tr -d '\n' | tr '\377' '\n';;
  *) uzycie;;
esac

exit 0
Widzimy:

Kod: Zaznacz cały

int main(void)
{
    printf ("Hello, world!\n");
    return 0;
}
Zadziała jeżeli linia rozpoczyna się od:
//
lub
/* */
Software Should Be Free As In Freedom !
sebuja
Piegowaty Guziec
Piegowaty Guziec
Posty: 23
Rejestracja: 05 lis 2009, 23:26
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Przydatne skrypty

Post autor: sebuja »

Experymentalne pluginy compiz:)


Kod: Zaznacz cały

#!/bin/bash

# compiz-plugins-experimental-0.8.x
# A script to install additional compiz plugins not included in the official plugin sets

# Dependencies:
# These are the dependencies necessary to install all plugins on Ubuntu Jaunty 9.04 or Karmic 9.10
# This script should work on other distributions provided the dependencies are met

# compiz-fusion-bcop compiz-dev compizconfig-settings-manager build-essential libtool
# libglu1-mesa-dev libxss-dev libcairo2-dev libpango1.0-dev git-core

# Variables

anaglyph_url=git://anongit.compiz-fusion.org/users/wodor/anaglyph
atlantis_url=git://anongit.compiz-fusion.org/fusion/plugins/atlantis
cubemodel_url=git://anongit.compiz-fusion.org/fusion/plugins/cubemodel
dialog_url=git://anongit.compiz-fusion.org/users/rcxdude/dialog
elements_url=git://anongit.compiz-fusion.org/users/pat/elements
extra_animations_url=git://anongit.compiz-fusion.org/users/kdubois/extra-animations
fakeargb_url=git://anongit.compiz-fusion.org/compiz/plugins/fakeargb
fireflies_url=git://anongit.compiz-fusion.org/inactive/users/smspillaz/fireflies
freewins_url=git://anongit.compiz-fusion.org/users/warlock/freewins
ghost_url=git://anongit.compiz-fusion.org/users/rcxdude/ghost
grid_url=git://anongit.compiz-fusion.org/compiz/plugins/grid
icons_url=http://oreaus.googlepages.com/icons-experimental.tar.gz
mswitch_url=git://anongit.compiz-fusion.org/fusion/plugins/mswitch
photowheel_url=git://anongit.compiz-fusion.org/users/b0le/photowheel
putplus_url=git://anongit.compiz.org/users/edgurgel/putplus
screensaver_url=git://anongit.compiz-fusion.org/users/pafy/screensaver
simple_animations_url=git://anongit.compiz-fusion.org/users/smspillaz/simple-animations
smartput_url=git://anongit.compiz.org/users/edgurgel/smartput
snow_url=git://anongit.compiz-fusion.org/fusion/plugins/snow
snowglobe_url=git://anongit.compiz-fusion.org/users/metastability/snowglobe
stackswitch_url=git://anongit.compiz-fusion.org/fusion/plugins/stackswitch
stars_url=git://anongit.compiz-fusion.org/inactive/users/smspillaz/stars
static_url=http://www.efaref.net/git/compiz/plugins/static.git
swap_url=git://anongit.compiz.org/users/edgurgel/swap
tile_url=http://oreaus.googlepages.com/tile.tar
toggle_decoration_url=git://anongit.compiz-fusion.org/users/edgurgel/toggle-decoration
wizard_url=http://oreaus.googlepages.com/wizard.tar
workspacenames_url=git://anongit.compiz-fusion.org/users/maniac/workspacenames

SRC_DIR=$HOME/src/compiz/plugins
TMP_DIR=/tmp
ICON_DIR=/usr/share/ccsm/icons/hicolor/scalable/apps

# Make sure we're being ran in bash

if [ -z "$BASH_VERSION" ]; then
	echo "Please run this script as /path/to/<script> or ./<script> from the directory where the script is located in a bash environment."
	exit 1
fi

# Don't run it as root

if [ $EUID = 0 ]; then
	echo "Run as user, without sudo and not as root."
	exit 1
fi

plugin_list=(anaglyph atlantis cubemodel dialog elements extra-animations fakeargb fireflies freewins ghost grid photowheel putplus screensaver simple-animations smartput snow snowglobe stackswitch stars static swap tile toggle-decoration wizard workspacenames)

dep_list=(compiz compiz-fusion-bcop compiz-dev compizconfig-settings-manager build-essential libtool libglu1-mesa-dev libxss-dev libcairo2-dev libdecoration0-dev libpango1.0-dev git-core)

# Functions

help ()		{
	echo "Compiz Addons - for compiz v0.8"
	echo "A script to install additional compiz plugins not included in the traditional plugin set."
	echo "Note: After using this script, restart compiz and ccsm for changes to take effect."
	echo "Run this script as user with ./<script> or /path/to/<script>, without 'sh' or 'sudo'!"
	echo
	echo "Usage: compiz-addons [OPTION] [TARGET]"
	echo "Options:"
	echo
	echo "install <target>          : Installs plugin <target>"
	echo "uninstall <target>        : Uninstalls plugin <target>"
	echo "--list                    : List of available targets"
	echo
	echo "--help                    : Displays this usage screen"
	exit 0
}

download () {

	local url="${1//-/_}_url"

	if [[ "$1" == "fakeargb" || "$1" == "grid" ]]; then
		git clone "${!url}"
		cd $1
		git checkout --track -b compiz-0.8 origin/compiz-0.8
		cd ../
	elif [ "$1" = "ghost" ]; then
		git clone "${!url}"
		cd $1
		git checkout 30b482c506354c95bab9feb5a40b9c9f0ea4de50
		cd ../
	elif [ "$1" = "grid" ]; then
		git clone "${!url}"
		cd $1
		git checkout 7d9521da7078bc9f1e5926c11e15158d24f64def
		cd ../
	elif [ "$1" = "tile" ] || [ "$1" = "wizard" ]; then
		wget -O $TMP_DIR/$1.tar "${!url}"
		tar -xf $TMP_DIR/$1.tar -C $SRC_DIR
	elif [ "$1" = "icons" ]; then
		wget -O $TMP_DIR/$1-experimental.tar.gz "${!url}"
	else
		git clone "${!url}"
	fi
}

validate_plugin ()	{
	cd $SRC_DIR
	if [ ! -d $SRC_DIR/$1 ]; then
		download $1
	fi
	cd $SRC_DIR/$1
}

install ()	{
	validate_plugin $1
	echo "Building $1.."
	make clean
	make
	echo "Installing $2.."
	make install
	local icon="$(grep PLUGIN plugin.info|sed '/^PLUGIN[ =]/s/^[^=]* *= *//p;d')"
	icon="plugin-${icon}.svg"
	if [ ! -e $ICON_DIR/$icon ]; then
		echo "Installing icon for $1.."
		if [ ! -e $TMP_DIR/icons-experimental.tar.gz ]; then
			download icons
		fi
		sudo tar -xzf $TMP_DIR/icons-experimental.tar.gz -C $ICON_DIR --strip 1 icons-experimental/$icon
		echo "Installed $icon to $ICON_DIR"
	fi
	icon="plugin-cubemodel.svg"
	if [ ! -e $ICON_DIR/$icon ]; then
		sudo tar -xzf $TMP_DIR/icons-experimental.tar.gz -C $ICON_DIR --strip 1 icons-experimental/$icon
	fi
}

uninstall ()	{
	validate_plugin $1
	echo "Removing $1"
	make uninstall
	# Don't worry about removing the icons since leaving them is harmless
}

clean () {
	echo "Purging source files.."
	for dir in "${plugin_list[@]}"; do
		if [ -d $SRC_DIR/$dir ]; then
			echo "Deleting $SRC_DIR/$dir/"
			rm -rf $SRC_DIR/$dir
		fi
	done
	quit
}

single_plugin ()	{
	validate_plugin $2
	$1 $2
	quit
}

do_all ()	{
	$1 $2
	continue
}

skip ()	{
	echo "Skipping $1."
}

quit ()	{
	echo "Done."
	exit 0
}

test ()	{
		if [ "$1" = "q" ]; then
			tput sgr0
			quit

			elif [ "$1" = "s" ]; then
				tput sgr0
				skip $dir
			elif [ "$1" = "i" ]; then
				tput sgr0
				install $dir
			elif [ "$1" = "u" ]; then
				tput sgr0
				uninstall $dir
			elif [ "$1" = "a" ]; then
				tput sgr0
				echo "Installing all remaining without prompting.."
				dont_prompt=1
				do_all install $dir
			else
				echo "Invalid option.\'$1\'"
				quit
		fi
}

isin () {
	local key="$1" value
	shift
	for value; do
	[ "$value" = "$key" ] && return
	done
	return 1
}

init_deps () {
for dep in "${dep_list[@]}"; do
	if ! dpkg --get-selections "$dep" 2>/dev/null | grep -qE '\<install$' > /dev/null; then
		echo "Installing dependencies.."
		sudo aptitude install "${dep_list[@]}" #compiz-fusion-plugins-unsupported
		break
	fi
done

mkdir -p $SRC_DIR
}

main_loop () {

init_deps

if [ ! $dont_prompt ]; then
	echo "$(tput setaf 2)i$(tput sgr0) = $(tput setaf 2)Install$(tput setaf 3) s$(tput sgr0) = $(tput setaf 3)Skip$(tput setaf 6) u$(tput sgr0) = $(tput setaf 6)Uninstall$(tput setaf 5) a$(tput sgr0) = $(tput setaf 5)Install all remaining without prompting$(tput setaf 1) q$(tput sgr0) = $(tput setaf 1)Quit$(tput sgr0)"
fi

for dir in "${plugin_list[@]}"; do
	tput sgr0

	if [ $dont_prompt ]; then
		if [ -z "$1" ]; then
			do_all install $dir
		else
			do_all $1 $dir
		fi
	fi

	read -p "What would you like to do for $(tput setaf 3)$dir$(tput sgr0)? $(tput setaf 2)i$(tput sgr0)/$(tput setaf 3)s$(tput sgr0)/$(tput setaf 6)u$(tput sgr0)/$(tput setaf 5)a$(tput sgr0)/$(tput setaf 1)q$(tput sgr0): " response
	test $response

	tput sgr0

done
quit
}


# Main

case "$1" in
	-h | --help )
		help ;;
	--list )
	echo "Valid targets are:"
	for i in "${plugin_list[@]}"; do
		echo "$i"
	done
	echo "all (Performs <action> for all plugins)"
	exit 0 ;;
	install	)
		if [ -z "$2" ]; then
			echo "This command requires a target. See --list for a list of valid targets."
			quit
		elif isin "$2" "${plugin_list[@]}"; then
			init_deps
			single_plugin $1 $2
		elif [ "$2" = "all" ]; then
			tput sgr0
			echo "$(tput setaf 2)Installing all plugins without prompting.$(tput sgr0)"
			dont_prompt=1
			main_loop $1
			quit
		else
			echo "Invalid target. See --list for a list of valid targets."
			quit
		fi ;;
	uninstall )
		if [ -z "$2" ]; then
			echo "This command requires a target. See --list for a list of valid targets."
			quit
		elif isin "$2" "${plugin_list[@]}"; then
			echo "Uninstalling $2.."
			single_plugin $1 $2
		elif [ "$2" = "all" ]; then
			tput sgr0
			echo "$(tput setaf 6)Uninstalling all plugins.$(tput sgr0)"
			dont_prompt=1
			main_loop $1
			quit
		else
			echo "Invalid target. See --list for a list of valid targets."
			quit
		fi ;;
	clean )
		clean	;;
	* )
		if [ ! -z "$1" ]; then
			echo "Invalid option \"$1\""
			help
		fi
esac

main_loop

exit 0
//ka_o_3991: Wklejaj takie rzeczy w tag CODE, tak na przyszłość.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4681
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Odp: Przydatne skrypty

Post autor: jacekalex »

Bardzo udany ten skrypt do compiza :grin:

Dzięki
;)
sebuja
Piegowaty Guziec
Piegowaty Guziec
Posty: 23
Rejestracja: 05 lis 2009, 23:26
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Przydatne skrypty

Post autor: sebuja »

ja tobie tez dziekuje :)
ODPOWIEDZ

Wróć do „Instalacja, aktualizacja i konfiguracja Ubuntu”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość