tompl pisze:
Mis' pisze:
po trzecie dodaj sprawdzanie zawartości zmiennej $WYBOR i w przypadku jeśli jest pusta wyświetl odpowiedni komunikat
if [ $WYBOR == ""];then
LOGO="ERROR #1: Nie wybrales żadnej opcji ! Zaznacz ja spacj., a potem zatwierdz ENTER'EM"
main_menu
fi
Jak nacisniesz ANULUJ wraca do glownego menu.
chyba o to ci chodziło, prawda? albo ja nie rozumiem co chcesz uzyskac...
Poza tym jesli chcesz żeby twoje okienko zachowywało się różnie dla różnych działań użytkownika to musisz każdą mozliwosć oprogramować.
tompl pisze:
Mis' pisze:
po czwarte możesz użyc pętli until... do... done i za każdym razem jesli zmienna jest pusta wracać do wyświetlania okna wyboru.
#!/bin/sh
clear
FUNKCJA="main_menu"
until [ $WYBOR == 0 ]; do
źle! po pierwsze znakiem == porównujesz stringi, a w możliwych opcjach nie widzę stringu 0, po drugie jeśli chodzi ci o to, żeby wracał jeśli zmienna $WYBOR jest pusta to raczej tak nalezałoby to zrobić:
until [ $WYBOR != "" ]; do...
done[/i]
albo
while [ $WYBOR = "" ]; do
...
donetompl pisze:
WYBOR=`dialog --stdout --title "GŁÓWNE MENU ZARZˇDZANIA UŻYTKOWNIKAMI" \
--backtitle "$LOGO" --cancel-label "Anuluj" --radiolist \
"Wybierz jedn± z opcji:" 21 54 15 \
"1" "ZOBACZ aktualnie zablokowane IP" "off" \
"2" "ODBLOKUJ adresy IP" "off" \
"3" "ZABLOKUJ adresy IP" "off" \
"4" "WYJ¦CIE z programu" "off" `
case $WYBOR in
"1")
echo "$WYBOR" > /home/tom/ccc ;;
"2")
echo "$WYBOR" > /home/tom/ccc ;;
"3")
echo "$WYBOR" > /home/tom/ccc22 ;;
*)
exit_menu ;;
esac
done[/code]
To sobie sprawdz i pocnaciskaj ANULUJ, gowno ciagle jak naciskasz anuluj wraca do funkcji.
Problem jest taki ze ANULUJ ma w czasie nacisniecia pusta wartosc, czyli musialbym nadac juz WYBOROWI wartosc domyslna, ale ona by byla ciagle stala i by jej nie zmienil.......
chyba nie zajrzałeś do manuala, jak ci radziłem. Mylisz wartość zmiennej $WYBOR z kodem wyjścia po naciśnięcie przycisku. Kod wyjścia sprawdzasz w zmiennej $?. zwróć uwagę że jest on kompletnie niezależny od tego czy twoja zmienna jest ustawiona czy nie.
tompl pisze:
Mam jeszcze dwa pytaie:
1. jak pogrubic tekst? wiem ze:
# empahsized (bolded) colors
local EMK="\[\033[1;30m\]"
local EMR="\[\033[1;31m\]"
local EMG="\[\033[1;32m\]"
local EMY="\[\033[1;33m\]"
local EMB="\[\033[1;34m\]"
local EMM="\[\033[1;35m\]"
local EMC="\[\033[1;36m\]"
local EMW="\[\033[1;37m\]"
ale nie wiem jak to zastosowac i gdzie wstwic tekst.
na moim NND takie coś:
echo -e "\033[1;30mala"wyświetla słowo "ala" w różnych kolorach (lub podkreślone) w zależności od liczby po średniku. sprawdzałem zakres od 29 do 40. Czy uda się uzyskać bold? nie wiem, ale kiedyś próbowałem w dialogu i bold akurat był niewidoczny. Być może to zależy od uzytego fontu konsolowego, ale nie sprawdzałem.
UWAGA! W dialogu kolory uzyskuje się nieco inaczej....
tompl pisze:
2. jak wyciagnac za pomoca grep'a z /etc/hosts IP i nazwe hosta? probowalem cos kombinowac, ale bez skutecznie.
jak wiesz czego szukasz to po prostu:
grep 'poszukiwany adres lub nazwa' /etc/hosts
pokaże ci całą linię zawierającą szukany wzorzec. Napisz dokłądniej o co ci chodzi bo znów nie do końca cię rozumiem...