ďťż
 
 
   Szablon dialog --menu i pobieranie danych
 
 

Tematy

 
    
 

 

 

 

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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis