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

Z Fedora Wiki
Skocz do: nawigacji, wyszukiwania
(+ yum-size-of)
(manr: skrypt na osobnej stronie (podświetlanie=biała strona) + fotka, a co)
Linia 12: Linia 12:
  
 
==manr==
 
==manr==
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).  
+
[[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 {{pre|manr -h}} lub {{pre|--help}}. Osobiście często używam ;) {{rama||[[U%C5%BCytkownik:Borzole/manr|manr]]}}
<source lang="bash">
+
#!/bin/bash
+
 
+
# manr - lista stron man z paczki rpm
+
# by borzole
+
# użycie: manr --help
+
 
+
# Nazwa programu
+
NAME="${0##*/}"
+
# czcionka normalna
+
E="\e[0m"
+
# czcionka bold
+
B="\e[1;38m"
+
# jakaś pomoc
+
function _help(){
+
echo -e "PROGRAM:\n${B}${NAME}${E} - spis stron man wybranej paczki rpm
+
${B}PARAMETRY:${E}
+
${B}<polecenie>${E}
+
po wpisaniu dowolnego polecenia wylistuje wszystkie strony man z paczki RPM
+
${B}-r, --rpm <paczka>${E}
+
po wpisaniu dowolnej paczki RPM wylistuje z niej wszystkie strony man
+
${B}-h, --help${E}
+
wypisuje tę pomoc
+
${B}PRZYKŁADY:${E}
+
${B}${NAME} cp${E}
+
${B}${NAME} fdisk${E}
+
${B}${NAME} -r shadow-utils${E}
+
${B}${NAME} -rpm yum-utils${E}
+
${B}${NAME} --rpm xorg-x11-server-utils${E}
+
${B}${NAME} --rpm xorg-x11-utils${E}
+
${B}${NAME} --rpm xdg-utils${E}
+
 
+
ps. takie molochy jak GNOME, KDE zazwyczaj nie używają już stron man :)"
+
exit 0
+
}
+
# rysuje linię
+
function _linia(){
+
# domyślnie jest "_", ale może rysować linię ze znaku podanego jako parametr
+
znak=${1:-_}
+
for i in {1..80}; do echo -en ${znak}; done ; echo
+
}
+
# gdy parametrem jest polecenie
+
function _cmd(){
+
CMD=$1
+
# z tej paczki poczytamy manuale
+
RPM=`rpm -qf $(which $CMD)`
+
_cli
+
}
+
# gdy parametrem jest paczka rpm
+
function _rpm(){
+
# z tej paczki poczytamy manuale
+
RPM=$1
+
_cli
+
}
+
# funkcja główna wyświetlająca spis stron man
+
function _cli(){
+
clear
+
echo -e "Miłego czytania stron man z paczki ${B} $RPM ${E}"
+
echo -e "Wybierz numer, wyjście: ${B}Ctl+D${E}"
+
_linia \~
+
select p in `rpm -ql $RPM |grep bin/ | awk -F"bin/" '{printf $2 " "}' `; do
+
man $p
+
done
+
# to samo ale wyświetla pełne ścieżki do poleceń
+
# select p in `rpm -ql $RPM |grep bin/ `; do man ${p##*/} ; done
+
}
+
# ------------------------------------------------------------------------------
+
# gdy brak parametrów:
+
if [ $# -eq 0 ]; then _help ; fi
+
# obsługa parametrów
+
if [ $# -gt 0 ]; then
+
case "${1}" in
+
--help | -h )
+
_help
+
exit 0
+
;;
+
--rpm | -r )
+
_rpm $2
+
exit 0
+
;;
+
*)
+
_cmd $1
+
exit 0
+
;;
+
esac
+
fi
+
# kod wyjścia ostatniego polecenia
+
exit $?
+
 
+
</source>
+
 
+
 
+
  
 
==wgetilla==
 
==wgetilla==

Wersja z 16:20, 2 sty 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.

.bashrc

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

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).

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 manr -h lub --help. Osobiście często używam ;) manr

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:" "$*"

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.

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