Skrypty użytkowników: Różnice pomiędzy wersjami

Z Fedora Wiki
Skocz do: nawigacji, wyszukiwania
(+ instalacja fedory do chroot)
m (korekta linku)
 
(Nie pokazano 14 wersji utworzonych przez jednego użytkownika)
Linia 1: Linia 1:
{{Box|Tip|Proponuję stronkę na skrypty|
+
{{spis}}{{Box|Tip|Proponuję stronkę na skrypty|
Jeśli masz skrypt mały lub duży, który mógłby się komuś przydać i nie masz ochoty pisać o nim artykułu na wiki to po prostu wrzuć go tutaj i opisz lub daj link do paczki
+
Jeśli masz skrypt mały lub duży, który mógłby się komuś przydać i nie masz ochoty pisać o nim artykułu na wiki to po prostu wrzuć go tutaj i krótko opisz lub daj link do paczki.
 +
* krótko o [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi podświetlaniu składni na wiki]
 
}}
 
}}
 
[[Kategoria:Administracja_systemem]]
 
[[Kategoria:Administracja_systemem]]
==preferencje-wersji==
 
Opis w skrypcie. Sam skrypt ma być bardziej przykładem niż realnym zastosowaniem. Jeśli nie środek to chociaż szkielet może komuś się przyda.
 
<source lang="bash">
 
#!/bin/bash
 
  
about(){    sed -e 's/^    //' <<__TEXT__
+
==.bashrc==
 +
* nigdy nie ukończony artykuł o pliku [[Użytkownik:Borzole/.bashrc|~/.bashrc]]
  
Mam dwa systemy, jeden Fedora Rawhide i386, a drugi Fedora 11 x86_64.
+
==audacious-delete.sh==
Przy wspólnej partycji /home i różnych aplikacjach w systemie ustawienia mogą się nie zgadzać.
+
Skrypt przenosi do kosza aktualnie odtwarzaną piosenkę i przechodzi do następnej na liście. Najlepiej zrobić do niego aktywator na pulpicie :) Używa jednego okienka zenity do potwierdzenia zgody. {{rama||[[U%C5%BCytkownik:Borzole/audacious-delete.sh|audacious-delete.sh]]}}
* ustawienia dla rawhide
+
preferencje-wersji rawhide
+
* ustawienia dla fedora 11
+
preferencje-wersji fedora-11
+
* odałem skrypt do autostartu z opcją auto
+
preferencje-wersji auto
+
i wszystko robi się samo ;)
+
  
Moje skromne ustawienia zastąp własnymi
+
==dropbox: indeks zawartości==
Borzole!
+
Dostępne jest w sieci kilka skryptów pozwalających użytkownikom dropbox utworzyć indeks zawartości folderów publicznych. To kilka z nich:
__TEXT__
+
* [http://dl.dropbox.com/u/533/index.html indexerPY.mac.py] (python)
    exit 1
+
wystarczy wrzucić go do jakiegoś katalogu np.
}
+
~/Dropbox/Public/fedora
 +
i wykonać komendę
 +
chmod +x indexerPY.mac.py
 +
python ./indexerPY.mac.py
 +
* [http://dl.dropbox.com/u/409786/pub/index.html indexer.py] lekko zmodyfikowana wersja "indexerPY.mac.py"
 +
* [http://dl.dropbox.com/u/552/pyndexer/index.html pyndexer.py] (python) jest bogatszy w generowane informacje, ma nawet szyfrowanie zawartości. [http://forums.dropbox.com/topic.php?id=3075 Wątek na forum].
 +
* [http://code.google.com/p/kosciak-misc/wiki/DropboxIndex dropbox-index] (python) [http://dl.dropbox.com/u/69843/dropbox-index/index.html podobny do powyższych].
 +
* [http://borzole.googlecode.com/hg/bin/dropbox-index.sh dropbox-index.sh] (bash + find)
  
 +
==fedorachroot==
 +
Zrobiłem instalację fedory do chroot, jednak wykonałem to w tak niewdzięczny sposób, że wstydził bym się komuś wmawiać, że tak to się robi. Jednak udało się i system działa już bez zarzutów więc jednak można. Dla zainteresowanych [[Użytkownik:Borzole/chroot|instalacja fedory do chroot]] najprostszym możliwym sposobem (chyba).
  
# identyfikacja systemu, na podstawie architektury (u mnie tyle wystarczy)
+
==gnome-background.sh==
SYSTEM=$(echo $(uname -i))
+
Skrypt do zmiany tapety pulpitu GNOME. Tapeta jest losowana z folderu podanego jako parametr, spośród plików png, jpg, svg. {{rama||[[U%C5%BCytkownik:Borzole/gnome-background.sh|gnome-background.sh]]}}
  
# do testów zawsze stosuj znacznik !!!
+
Najlepiej uruchomić w cron w taki sposób:
ZNACZNIK=-$(date +%Y.%m.%d-%H.%M.%S.%N)
+
<pre>crontab -e</pre>
PREFSJS=$HOME/.mozilla/firefox/profil.lucas/prefs.js
+
i wypełnić
 +
<pre>
 +
PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
 +
* * * * * gnome-background.sh /home/lucas/tapety >/dev/null 2>&1
 +
</pre>
  
sprzataczka() {
+
==manr==
echo "Poszło DELETE"
+
[[Plik:manr.png|thumb|150px|''przykład:'' '''manr cp''']]Taki dosyć prościutki skrypt listujący strony man danej paczki rpm/polecenia. Rozbudowany jest tylko po to by pokazać początkującym jak łatwo zrobić obsługę parametrów, funkcje i menu wyboru (bo sam na początku długo tego szukałem). Skrypt zakłada, że każde polecenie z paczki ma stronę man, więc wyświetla je na liście nawet jak nie ma . Pomoc dostępna po wydaniu polecenia {{pre|manr -h}} lub {{pre|--help}}. Osobiście często używam ;) {{rama||[[U%C5%BCytkownik:Borzole/manr|manr]]}}
  
# oznaczam sobie w Firefox about:config rzeczy do usunięcia, a to pousuwa te liniki
+
==wgetilla==
sed -e '/borzole-delete/d' $PREFSJS -i
+
Michał Bentkowski (mr.ecik) zrobił kiedyś skrypt "wget z powiadomieniem" jednak nie daje rady znaleźć go dzisiaj w google, a skoro był na licencji GPLv2 to pozwolę sobie umieścić tutaj.
# Usuwanie linii zaczynających się od #
+
<source lang="bash">
# sed -e '/^#/d' plik
+
#!/bin/bash
+
# z xterm na Terminal
+
#sed -e 's:/usr/bin/xterm:/usr/bin/Terminal:g' $PREFSJS -i
+
#sed -e '/\"flashgot.custom/s/\-e/\-x/g' $PREFSJS -i
+
}
+
  
rawhide() {
+
# wgetilla - wget z powiadomieniem
sprzataczka
+
# równie dobrze to może być prozilla, curl czy aria2
echo "Poszło rawhide - XFCE"
+
# by Michał Bentkowski (mr.ecik@gmail.com)
sed -e '/\"browser.startup.homepage\"/s/borzole.org/google.pl/g' $PREFSJS -i
+
# licensed under GPLv2+
sed -e 's:/usr/bin/gnome-terminal:/usr/bin/Terminal:g' $PREFSJS -i
+
# requires: notify-send ( paczka libnotify.rpm )
}
+
 +
# PRZYKŁAD:
 +
# Jako "download manager" do firefox z wtyczką Flashgot :
 +
# polecenie:
 +
# /usr/bin/gnome-terminal
 +
# parametry:
 +
# -x wgetilla [URL] -P [FOLDER]
 +
# dzięki opcji -P mamy automatyczne sortowanie ściąganych plików
  
fedora-11() {
+
NOTIFY_SEND=/usr/bin/notify-send
sprzataczka
+
echo "Poszło F11 - GNOME"
+
# do testow
+
#sed -e '/\"browser.startup.homepage\"/s/google.pl/borzole.org/g' $PREFSJS -i.$ZNACZNIK
+
sed -e '/\"browser.startup.homepage\"/s/google.pl/borzole.org/g' $PREFSJS -i
+
sed -e 's:/usr/bin/Terminal:/usr/bin/gnome-terminal:g' $PREFSJS -i
+
}
+
  
auto(){
+
# ICONS: (change if you don't like them ;-))
if [ $SYSTEM = 'i386' ] ;
+
ICON_OK=messagebox_info
then
+
ICON_ERR=messagebox_critical
rawhide
+
elif [ $SYSTEM = 'x86_64' ] ;
+
then
+
fedora-11
+
else
+
echo "...error, co ty masz za system synu ?! "
+
fi
+
}
+
  
help(){
+
# PATHS: (change them if it's needed)
for ((  i = 0 ;  i < 80;  i++  )); do echo -en "─"; done ; echo
+
GET=/usr/bin/wget
echo -e "\e[1;38m\tProsty skrypt do przełączania ustawień\e[0m
+
#GET=/usr/bin/proz
\e[1;34m preferencje-wersji {auto|rawhide|fedora-11|about} \e[0m
+
#GET=/usr/bin/curl
albo:\n$0 {auto|rawhide|fedora-11|about}"
+
#GET=/usr/bin/aria2c
for ((  i = 0 ;  i < 80;  i++  )); do echo -en "─"; done ; echo
+
}
+
  
menu(){
+
# just run "get" with given parameters
case "$1" in
+
$GET $@
fedora-11)
+
EXIT=$?
fedora-11
+
;;
+
rawhide)
+
rawhide
+
  ;;
+
auto)
+
auto
+
;;
+
about)
+
about
+
;;
+
*)
+
help
+
;;
+
esac
+
}
+
  
# w zależności czy jest czy nie ma podanego argumentu
+
# check whether $DISPLAY exists,
if [ -n $1 ]  
+
# if not, exit with get's exit code
then  
+
[ "x$DISPLAY" == "x" ] && exit $EXIT
menu $1
+
 
else  
+
# don't notify if "--help" was invoked
help
+
for p in $*; do [[ "$p" == "--help" ]] && exit $EXIT; done
 +
 
 +
if [ "x$EXIT" == "x0" ]; then
 +
  $NOTIFY_SEND -i $ICON_OK "Download OK:" "$*"
 +
else
 +
  $NOTIFY_SEND -i $ICON_ERR "Download ERROR:" "$*"
 
fi
 
fi
 +
exit $EXIT
 
</source>
 
</source>
==.bashrc==
+
 
* nigdy nie ukończony artykuł o pliku [[Użytkownik:Borzole/.bashrc|~/.bashrc]]
+
==yum-size-of==
==instalacja fedory do chroot==
+
Skrypt {{rama||[[Użytkownik:Borzole/yum-size-of|yum-size-of]]}} pokazuje miejsce zajmowane przez paczkę rpm. Zarówno rozmiar archiwum jak i miejsce zajmowane po instalacji. Korzysta z bazy yum, więc paczka nie musi być zainstalowana w systemie.
Zrobiłem instalację fedory do chroot, jednak wykonałem to w tak niewdzięczny sposób, że wstydził bym się komuś wmawiać, że tak to się robi. Jednak udało się i system działa już bez zarzutów więc jednak można. Dla zainteresowanych [[Użytkownik:Borzole/chroot|instalacja fedory do chroot]] najprostszym możliwym sposobem (chyba).
+
:'''Uwaga:''' od Fedora 12 dostępny jest plugin '''yum-plugin-list-data''' umożliwiający m.in. sprawdzenie zajmowanego przez paczkę miejsca.
 +
 
 +
==zenity==
 +
Skrypty z użyciem graficznych okienek zenity znajdują się [[zenity|w artykule o zenity]]

Aktualna wersja na dzień 06:58, 12 lip 2010

Spis treści

Tip.png
Proponuję stronkę na skrypty

Jeśli masz skrypt mały lub duży, który mógłby się komuś przydać i nie masz ochoty pisać o nim artykułu na wiki to po prostu wrzuć go tutaj i krótko opisz lub daj link do paczki.

[edytuj].bashrc

  • nigdy nie ukończony artykuł o pliku ~/.bashrc

[edytuj]audacious-delete.sh

Skrypt przenosi do kosza aktualnie odtwarzaną piosenkę i przechodzi do następnej na liście. Najlepiej zrobić do niego aktywator na pulpicie :) Używa jednego okienka zenity do potwierdzenia zgody. audacious-delete.sh

[edytuj]dropbox: indeks zawartości

Dostępne jest w sieci kilka skryptów pozwalających użytkownikom dropbox utworzyć indeks zawartości folderów publicznych. To kilka z nich:

wystarczy wrzucić go do jakiegoś katalogu np.

~/Dropbox/Public/fedora

i wykonać komendę

chmod +x indexerPY.mac.py
python ./indexerPY.mac.py

[edytuj]fedorachroot

Zrobiłem instalację fedory do chroot, jednak wykonałem to w tak niewdzięczny sposób, że wstydził bym się komuś wmawiać, że tak to się robi. Jednak udało się i system działa już bez zarzutów więc jednak można. Dla zainteresowanych instalacja fedory do chroot najprostszym możliwym sposobem (chyba).

[edytuj]gnome-background.sh

Skrypt do zmiany tapety pulpitu GNOME. Tapeta jest losowana z folderu podanego jako parametr, spośród plików png, jpg, svg. gnome-background.sh

Najlepiej uruchomić w cron w taki sposób:

crontab -e

i wypełnić

PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
* * * * * gnome-background.sh /home/lucas/tapety >/dev/null 2>&1

[edytuj]manr

przykład: manr cp
Taki dosyć prościutki skrypt listujący strony man danej paczki rpm/polecenia. Rozbudowany jest tylko po to by pokazać początkującym jak łatwo zrobić obsługę parametrów, funkcje i menu wyboru (bo sam na początku długo tego szukałem). Skrypt zakłada, że każde polecenie z paczki ma stronę man, więc wyświetla je na liście nawet jak nie ma . Pomoc dostępna po wydaniu polecenia manr -h lub --help. Osobiście często używam ;) manr

[edytuj]wgetilla

Michał Bentkowski (mr.ecik) zrobił kiedyś skrypt "wget z powiadomieniem" jednak nie daje rady znaleźć go dzisiaj w google, a skoro był na licencji GPLv2 to pozwolę sobie umieścić tutaj.

#!/bin/bash
 
# wgetilla - wget z powiadomieniem
# równie dobrze to może być prozilla, curl czy aria2
# by Michał Bentkowski (mr.ecik@gmail.com)
# licensed under GPLv2+
# requires: notify-send ( paczka libnotify.rpm )
 
# PRZYKŁAD:
# Jako "download manager" do firefox z wtyczką Flashgot :
# polecenie:
#	/usr/bin/gnome-terminal
# parametry:
# 	-x wgetilla [URL] -P [FOLDER]
# dzięki opcji -P mamy automatyczne sortowanie ściąganych plików
# ICONS: (change if you don't like them ;-))
# PATHS: (change them if it's needed)
#GET=/usr/bin/proz
#GET=/usr/bin/curl
#GET=/usr/bin/aria2c
 
# just run "get" with given parameters
# check whether $DISPLAY exists,
# if not, exit with get's exit code
[ "x$DISPLAY" == "x"# don't notify if "--help" was invoked
"$p" == "--help""x$EXIT" == "x0""Download OK:" "$*""Download ERROR:" "$*"

[edytuj]yum-size-of

Skrypt yum-size-of pokazuje miejsce zajmowane przez paczkę rpm. Zarówno rozmiar archiwum jak i miejsce zajmowane po instalacji. Korzysta z bazy yum, więc paczka nie musi być zainstalowana w systemie.

Uwaga: od Fedora 12 dostępny jest plugin yum-plugin-list-data umożliwiający m.in. sprawdzenie zajmowanego przez paczkę miejsca.

[edytuj]zenity

Skrypty z użyciem graficznych okienek zenity znajdują się w artykule o zenity

Osobiste
Przestrzenie nazw

Warianty
Działania
Wiki
Nawigacja
Inne
Narzędzia