ra-v Napisano Grudzień 1, 2009 Zgłoszenie Share Napisano Grudzień 1, 2009 @qmic - bash się przydaje, ale faktycznie robienie jakiegoś supermenu w bash-u to przesada;) Ale w bashu robi się "cokolwiek" czyli pisze skrypty ułatwiające życie, automatyzujące system itp. A jak chcesz np. seryjnie konwertować obrazki czy zrzucać nagraną muzyka do innych formatów w PHP to powodzenia;) - dobijesz serwer zasobożerną. W bashu zrobić można to dużo szybciej. @wszyscy - Sam pisze skrypty dla samego basha i dla Zenity - zasada działania jest podobna, tylko że w bashu nazwy plików i przełączki wchodzą jako parametr.. Korzystajcie z basha i uczcie się basha, niesamowicie ułatwia życie. Ale nie przesadzajcie.... Po to zostało wymyślone Zenity żeby wszystko ładnie wyglądało. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
qmic Napisano Grudzień 2, 2009 Zgłoszenie Share Napisano Grudzień 2, 2009 @qmic - bash się przydaje, ale faktycznie robienie jakiegoś supermenu w bash-u to przesada;) Ale w bashu robi się "cokolwiek" czyli pisze skrypty ułatwiające życie, automatyzujące system itp. A jak chcesz np. seryjnie konwertować obrazki czy zrzucać nagraną muzyka do innych formatów w PHP to powodzenia;) - dobijesz serwer zasobożerną. W bashu zrobić można to dużo szybciej. @wszyscy - Sam pisze skrypty dla samego basha i dla Zenity - zasada działania jest podobna, tylko że w bashu nazwy plików i przełączki wchodzą jako parametr.. Korzystajcie z basha i uczcie się basha, niesamowicie ułatwia życie. Ale nie przesadzajcie.... Po to zostało wymyślone Zenity żeby wszystko ładnie wyglądało. No zgadza się, można pisać jakieś skrypciki po kilka linijek (ustawiające uprawnienia, wykonujące zbiór poleceń), ale to nie jest u mnie robieniem czegokolwiek Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
morg Napisano Grudzień 10, 2009 Zgłoszenie Share Napisano Grudzień 10, 2009 Trzeba wybrac z klawiatury numerycznej numer interesującej pozycji : export tutaj=$PWD export glowny=${tutaj%/*} export katalog_glowny=` ls $glowny ` select katalog in `ls $katalog_glowny ` do printf "\n\n\n\n\n" banner $katalog printf "\n\n" sleep 3 break done Na szybko. Bierze wszystko. Pliki, katalogi. Dla samych katalogów można użyć du |awk '{ print $2 }' |cut -d'/' -f2 |sort -u ale wolno działa bo zlicza zajętość katalogów. lub ls -la |grep dr | awk '{ print $7 }' |sort -u " grep dr " wybiera katalog z takiej listy: drwxrwxr-x 13 morg morg 4096 11-27 01:15 Start -rwxrwxrwx 1 morg morg 1244942 2009-03-27 start.zip O to chodziło? M. EDIT: tagi {} Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Grudzień 10, 2009 Autor Zgłoszenie Share Napisano Grudzień 10, 2009 O to chodziło?...nie chciałem uniwersalną funkcję "Wybierz katalog" W poście #5 napisałem, że select jest kaszaniarski. Jeśli lista jest za długa to wychodzi poza ekran i będąc w "init 3" nie da się jej przewinąć do góry. Jeśli wiesz jak zrobić przewijaną listę: less+select (najlepiej od razu mc ) to będzie git. Darowałem sobie ten problem Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Grudzień 14, 2009 Autor Zgłoszenie Share Napisano Grudzień 14, 2009 prawie mam, przerobiłem jakiegoś znalezionego "while do" i mam taki ciekawy jednolinijkowy sposób: #!/bin/bash # skrypt pozwala na wybór folderu w jednej kresce # niestety nie rozpoznaje spacji ;( ale poza tym jest git msg="\rZlokalizuj folder używając strzałek góra/dół/enter + wybór potwierdź \"y\"" echo -e $msg line(){ for (( j=1; j<=$(tput cols); j++ )); do echo -n "${1:--}" done } set_dir_tab(){ unset dir_tab # element "." jest celowo pomijany dir_tab=( "." ".." $(find . -mindepth 1 -maxdepth 1 -xtype d | sort) ) } cd_folder(){ cd "${dir_tab[$i]}" set_dir_tab } main(){ SETCURRENT="$PWD" # dla szybszego działania wykonajmy to tylko raz czysc=$(line \ ) set_dir_tab i=1 while [ 0 ]; do [ $i == 0 ] && i=1 [ ! "${dir_tab[$i]}" ] && let i=i-1 echo -en "\r$czysc\r" echo -en "FOLDER=$PWD | ${dir_tab[$i]} " read -sn 1 char case "$char" in "A") # A = UP let i=i-1;; "B") # B = DOWN let i=i+1;; "") echo -en "\r$czysc\r" echo -en "\rFOLDER=$PWD | (y)es? or ENTER | \"${dir_tab[$i]}\" " read -sn 1 char [ "$char" == "y" ] || [ "$char" == "Y" ] && break || cd_folder "${dir_tab[$i]}" esac done echo -e "\n WYBRAŁEŚ = $PWD" cd "$SETCURRENT" } main Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
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ę