[+] bash i nak

Potrzebujesz pomocy z C, C++, perl, python, itp.
jang
Beginner
Posty: 208
Rejestracja: 26 stycznia 2007, 14:38

[+] bash i nakładka dialog

Post autor: jang »

Witam.

http://www.dief.republika.pl/dialog1.html

Pod odnośnikiem jest m.in. takie coś

Kod: Zaznacz cały

#!/bin/bash
dialog --title "Okno menu" \
--backtitle "Kurs programowania w shellu" \
--menu "Memu" 9 50 3 \
1 jeden \
2 dwa \
3 trzy \
4 cztery
Jak odczytuje się co użytkownik wybrał?
- czy wybrał pozycję np. 2
- czy wybrał "Ok" czy "Cancel"?
Partition
Posty: 81
Rejestracja: 24 maja 2006, 15:12
Lokalizacja: Bêdzin

Post autor: Partition »

Na przykład tak:
http://heni0.fm.interia.pl/bla
Wybraną wartość masz w zmiennej a
Jeżeli wybierzesz anuluj zmienna a będzie pusta.
sparks
Posty: 65
Rejestracja: 06 lipca 2006, 09:31
Lokalizacja: z Tiamat

Post autor: sparks »

Może tak jak tutaj : http://www.freeos.com/guides/lsst/ch04sec10.html

I luźna wariacja na ten temat:

Kod: Zaznacz cały

#!/bin/bash
dialog --clear --separate-output --title "Okno checklist" \
--backtitle "Kurs programowania w shellu" \
--checklist \
"Tu można zaznaczać wiele wpisów naraz:" 10 70 4 \
"1" "pierwszy element" "on" \
"2" "drugi element" "off" \
"3" "trzeci element" "off" \
"Cztery" "tu zaznaczone domyślnie" "on" \
2>/tmp/input.$$
sel=$?

na=`cat /tmp/input.$$`
case $sel in
  0) echo "OK pressed" ;;
  1) echo "Cancel is Press" ;;
  255) echo "[ESCAPE] key pressed" ;;
esac
echo $na
Minutę za późno.
jang
Beginner
Posty: 208
Rejestracja: 26 stycznia 2007, 14:38

Post autor: jang »

sparks nawet sekundę później nie jest za późno.

czyli 2>a to jest zapis do zmiennej a 2>/tmp/input.$$ zapis do pliku?

input.$$ - co oznaczają te "dolary"?

Znalazłem jeszcze coś takiego - http://xdialog.dyns.net/

Czy istnieje jeszcze jakaś odmiana dialog-u?

Xdialog wygląda zdecydowanie lepiej (ładniej) aniżeli dialog no ale te kanciaste przyciski GTK bardzo mi się nie podobają.

Podziękowania za odpowiedzi.
Partition
Posty: 81
Rejestracja: 24 maja 2006, 15:12
Lokalizacja: Bêdzin

Post autor: Partition »

Czy istnieje jeszcze jakaś odmiana dialog-u ?
kdialog (jest domyślnie w KDE)
input.$$ - co oznaczają te "dolary" ?
Tworzą plik o nazwie: input.jakaś_tam_liczba
jang
Beginner
Posty: 208
Rejestracja: 26 stycznia 2007, 14:38

Post autor: jang »

Kod: Zaznacz cały

man bash
-a plik - prawda jeżeli plik istnieje
-e plik - prawda jeżeli plik istnieje

Jaka jest różnica pomiędzy -a a -e?

Czy GNOME ma też swój pakiet dialog?

Widzę, że dialog-i różnią się nazwami opcji czyli nie są "uniwersalne" a więc najlepiej używać dialog-a aby wszyscy, niezależnie od używanego środowiska graficznego mogli używać skryptu.
Czy sprawdzanie, czy plik istnieje (dialog, xdialog, kdialog) poprzez if ... i w zależności od tego jaki dialog ma użytkownik zainstalowany jest poprawne? Czy też lepiej jakoś inaczej to sprawdzać?
tomek_bydg
Posty: 1
Rejestracja: 16 marca 2011, 11:23

Post autor: tomek_bydg »

Witam.
Napisałem z prośbą o pomoc ponieważ nie mam pojęcia jak to zrobić. Stworzyłem sobie swój dialog (pracuję obecnie na Ubuntu)

Kod: Zaznacz cały

 dialog --title "Okno menu" \
--backtitle "Manager Plików" \
--menu "Menu" 10 50 4  \
"1" "Skrypt do pre-optymalizacji"  \
"2" "Skrypt do post-optymalizacji"  \
"3" "Zakończ" 
#########
if [ $? = 1 ]; then
sh skrypt.sh
fi
#########
if [ $? = 2 ]; then
echo 'bedzie ok'
fi
##########
if [ $? = 3 ]; then
exit 0
fi
#########################
W momencie gdy dokonuje wyboru funkcji wychodzi mi z aplikacji.

Proszę o pomoc bo to bardzo pilna sprawa.
flasht
Posty: 1
Rejestracja: 09 maja 2013, 13:25

Post autor: flasht »

Kod: Zaznacz cały

DIALOG=${DIALOG=dialog}


$DIALOG --title " My first dialog" --clear \
        --yesno "Hello , this is my first dialog program" 0 0


case $? in
  0)
    clear;
    echo -e "\nYes chosen.";;
  1)
    clear;
    echo "\nNo chosen.";;
  255)
    clear;
    echo "\nESC pressed.";;
esac
ODPOWIEDZ