Skocz do zawartości

Problematyczny Bash


borzole

Rekomendowane odpowiedzi

Witam.

Osiągnąłem pomarańczowy pas w programowaniu w bash :) jednak męczy mnie jeden problem. Dla czystego sportu zrobiłem dwa skrypty te z góry strony http://wiki.fedora.pl/wiki/Repo . O ile w wersji "zwikirepo" osiągnąłem "zen" :) to wersja konsolowa ma niedorobioną funkcję wyboru katalogu. Użyłem zwykłego "read" więc cała ścieżka wymaga ręcznego wklepania. Znacie jakąś gotowe rozwiązanie na wybór katalogu wewnątrz skryptu? Nie interesują mnie inne języki, bo to do rozwiązania zagłostki mnie męczy. Nie chcę też zapisywać tej ścieżki w samym skrypcie.

Odnośnik do komentarza
Udostępnij na innych stronach

czytaj ze zrozumieniem :) zrobiłem wersję z zenity i chciałem drugą w czystym bash bez "dialog"

 

To Ty czytaj ze zrozumieniem :P , na pewno jest na to jakiś sposób, i śmiem twierdzić że niezbyt skomplikowany :P

 

To w końcu chcesz zrobić wersję okienkową czy w bashu?

jak okienkową to zenity

jak w bashu to read.

W czym jest problem ?

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Napisałem, że chcę to zrobić jako sztuka dla sztuki w czystym bash. Robiąc dla siebie wybrał bym zenity/dialog i koniec.

Można łatwo generować listę folderów do tablicy i poruszać się po tablicy. To nie problem. Problem pojawia się ze sposobem wyświetlania takiej listy. Prostego sposobu nie ma. Funkcja "select" po wyjściu listy za ekran staje się bezużyteczna. W ogóle wszystkie proste funkcje w bash nie uwzględniają cofnięcia się o linikę do góry. Więc prosto się nie da. Są niby kody ascii w bash do poruszania się kursora, ale ich działanie jest trochę nie przewidywalne dla mnie na razie. Przydała by się gotowa funkcja. Mam funkcję co potrafi przewijać listę i wyświetlać w jednej linii, jakbym miał jeszcze obsługę tego kursora. ... ehh <_< śmieszny ten bash. Mówią, że asembler jest trudny. Spróbowali by coś większego w bash zrobić :rolleyes:

Odnośnik do komentarza
Udostępnij na innych stronach

@borzole

Nie jestem expertem z basha ale wydaje mi się że to co chcesz osiągnąć to tak jak przy pomocy html i css probować zrobic cos wiecej niz tylko wyswietlanie stron.

Myślę że jeżeli nie masz problemów z tworzeniem algorymów to czas najwyższy zainteresować się językami, które dadzą ci większą swobodę w dzialaniu. Ot już Perl, Python, Ruby by ci dały wszystko co chcesz. Bash jest dobry ale w pewnym momencie wiecej czasu spedzasz na znalezieniu jakiegos rozwiazania niz nad logika skryptu/programu.

Odnośnik do komentarza
Udostępnij na innych stronach

Znacie jakąś gotowe rozwiązanie na wybór katalogu wewnątrz skryptu? Nie interesują mnie inne języki, bo to do rozwiązania zagłostki mnie męczy. Nie chcę też zapisywać tej ścieżki w samym skrypcie.

Dlatego ci piszę, że bash to narzedzie doraźne. Jak to ładnie qmic w poscie o fluxbox napisał jest to jazda gołym tyłkiem po żużlu.

Pamiętam kiedyś lata 2002-03 jak upierałem się z kolegą że javascript ma całkiem duże możliwości a on prawdziwy programista mówił mi abym przestał zawracać sobie glowę javasciptem i użył narzedzi które są do tego bardziej odpowiednie (miał tu na mysli php). Nie pamietam chodziło cos o sortowanie danych i też skladowanie ich do tabel i tyle. Ja bylem zafascynowany javascriptem i nie chciało mi sie wierzyc w to co mówił o javascripcie. Co prawda czas pokazał że język javascript rozwinąl się niesamowicie (mowa tu o stworzeniu Ajaxa) i teraz pewnie bym miał niezaprzeczalną rację ale z perspektywy czasu to on miał rację. Dużo szybciej lepiej wygodniej mogłbym stworzyc algorytm w oparciu o php niz przegrzewać mozg i łącza aby znaleźć coś konkretnego opartego o javascript

 

Dzisiaj potzrebna ci jest taka funkcjonalnosc a za chwile bedziesz potzrebował podpiąć już db i co ? Bash jest dobry do pewnego momentu. Po części to jak próbować wynaleźć jeszcze raz koło? Dlaczego nie użyć narzędzi które pozwolą ci zrobić super pojazd do ucieczki przed pandemią grypy? :)

Odnośnik do komentarza
Udostępnij na innych stronach

Czy ja gdziekolwiek powiedziałem, że bash jest wspaniały i można w nim dużo zrobić? Jezu ludzie, nauczcie się czytać ze zrozumieniem. Spytałem się jak coś osiągnąć w bash z czystej ciekawości. Wyraźnie napisałem to w pierwszym poście: że nie interesują mnie inne języki i że to chcę rozwiązać jako zagłostkę. A tu masz: zrób to w tym języku, z taką biblioteką, a w bash to się nie męcz :blink:

WIEEEEEEEEEEEM!!!!

Odnośnik do komentarza
Udostępnij na innych stronach

@borzole - w czasach młodości bawiłem się w takie menu na terminalu. Nie sądzę żeby chciało mi się przypominać jak to robiłem, ale tak ogólnie trzeba było się zapoznać (dość dokładnie) z terminfo, w szczególności z opcją tparm (tparam?), tput.

Ale w sumie można było osiągnąć semigraficzne menu, po którym można się było poruszać kursorami z podświetleniem aktualnie wybranej pozycji (inwersja albo inny kolor).

Czyli listę katalogów też pewnie dałoby się wczytać. Tylko że to może zabić ;) Szczególnie gdyby trzeba było zapanować na listą dłuższą niż ilość linii na ekranie ;)

 

P.S.no i w sumie otrzymuje się efekt podobny do dialog, tyle ze gorszy i nieporównanie większym nakładem pracy i nerwów.

Odnośnik do komentarza
Udostępnij na innych stronach

hymm, rozumiem. To co podałeś to chyba tput, bo widzę że ten link co wkleiłem wyżej m.in. z tego korzysta. Polecenie jest z paczki ncurses, czyli to w sumie taki wraper w bash na tę bibliotekę. Cholercia, wracamy do początku w takim razie. Cóż, tak na prawdą to chciałem zrobić menu przy jak najmniejszych zależnościach programów i tyle. No i skrypt bash jest niezależny od architektury.

Odnośnik do komentarza
Udostępnij na innych stronach

hymm, rozumiem. To co podałeś to chyba tput, bo widzę że ten link co wkleiłem wyżej m.in. z tego korzysta. Polecenie jest z paczki ncurses, czyli to w sumie taki wraper w bash na tę bibliotekę. Cholercia, wracamy do początku w takim razie. Cóż, tak na prawdą to chciałem zrobić menu przy jak najmniejszych zależnościach programów i tyle. No i skrypt bash jest niezależny od architektury.

 

Też uważam że robienie czegokolwiek w bashu to rzeźbienie w g. :P To trochę tak jakby rozpalać w dzisejszych czasach ognisko krzemieniem, ale nie po to rozwinęliśmy się tak przez milion lat aby marnować życie na te same głupoty.

Java, php i python też są niezależne od architektury.

 

 

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