|
Szablon dialog --menu i pobieranie danych
axlinux - 25-12-2007 15:13
Witam
Zanim opowiem o swoim problemie chcę poinformować o tym że przeglądałem google i posty na tym forum. Podobny problem już się tutaj pojawił lecz nie potrafiłem wyłuskać z niego informacji i zastosować w moim skrypcie.
Mam do napisania skrypt z pomocą dialog który będzie prostym managerem plików pod konsolę.
#!/bin/bash dialog --title "Okno menu" \ --backtitle "Manager Plików" \ --menu "Menu" 9 50 3 \ 1 Nowy Katalog \ 2 Usuń Katalog \ 3 Kopiuj \ 4 Wstaw pusty plik Problem polega na tym jak wyciągnąć z tego daną która posiada informację o tym co użytkownik wybrał.
Kombinowałem trochę lecz coś nie za bardzo wychodziło. Czy może mi ktoś pomóc napisać małego gotowca :D
Dziękuje z góry :)
Ventrue - 25-12-2007 15:26
# # Script to create simple menus and take action according to that selected # menu item # while : do clear echo "-------------------------------------" echo " Main Menu " echo "-------------------------------------" echo "[1] Show Todays date/time" echo "[2] Show files in current directory" echo "[3] Show calendar" echo "[4] Start editor to write letters" echo "[5] Exit/Stop" echo "=======================" echo -n "Enter your menu choice [1-5]: " read yourch case $yourch in 1) echo "Today is `date` , press a key. . ." ; read ;; 2) echo "Files in `pwd`" ; ls -l ; echo "Press a key. . ." ; read ;; 3) cal ; echo "Press a key. . ." ; read ;; 4) vi ;; 5) exit 0 ;; *) echo "Opps!!! Please select choice 1,2,3,4, or 5"; echo "Press a key. . ." ; read ;; esac done
Czyli: za pomocą case. Choć w powyższym przykładzie dialogu nie ma... Później spróbuję to zrobić :)
axlinux - 26-12-2007 14:05
Właśnie jest taka sprawa że bez dialogu potrafię zrobić ale właśnie potrzebuje aby skrypt był napisany za pomocą polecenia dialog.
rupek - 26-12-2007 16:19
#!/bin/bash
dialog --title "Okno menu" \ --backtitle "Manager Plików" \ --menu "Menu" 9 50 3 \ 1 Nowy Katalog \ 2 Usuń Katalog \ 3 Kopiuj \ 4 Wstaw pusty plik > /tmp/test read d < /tmp/test
i teraz pod zmienna $d masz to co zostało wybrane
lub
#!/bin/bash d=$(dialog --title "Okno menu" \ --backtitle "Manager Plików" \ --menu "Menu" 9 50 3 \ 1 Nowy Katalog \ 2 Usuń Katalog \ 3 Kopiuj \ 4 Wstaw pusty plik) echo $d
i teraz równirż pod $d masz to co zostało wybrane
Ventrue - 27-12-2007 10:35
dialog --title "Okno menu" \ --backtitle "Manager Plików" \ --menu "Menu" 13 50 6 \ "1" "Tworzenie nowego katalogu" \ "2" "Kopiowanie pliku" \ "3" "Coś innego" \ "4" "Zakończ"
if [ $? = 4 ]; then exit 0 fi
Mi tak działa.
axlinux - 02-01-2008 17:52
#!/bin/bash d=$(dialog --title "Okno menu" \ --backtitle "Manager Plików" \ --menu "Menu" 9 50 3 \ 1 Nowy Katalog \ 2 Usuń Katalog \ 3 Kopiuj \ 4 Wstaw pusty plik) echo $d Chyba najbardziej odpowiadałaby mi ta wersja tylko że ona nie chce mi działać, tzn bash nie wywala błędów lecz konsola wyświetla pustą linijkę a po naciśnięciu entera pojawia się np 1 czyli to co powinno być zaznaczone z dialoga.
rupek - 02-01-2008 20:15
axlinux, no bo to na takiej zasadzie działa
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|