Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-04-22 16:07:17

  grom120 - Użytkownik

grom120
Użytkownik
Zarejestrowany: 2009-09-30

Sprawdzenie poprawności wykonanego polecenia...

Witam.

Mam dosyć nietypowy problem , próbuje odczytać zawartość płyty DVD jednak system jej nie widzi na windowsie jest tak samo , "łapie" dopiero po kiludziesieciu probach , nie chce recznie wysuwac , wsuwać i czekać az płyta "załapie"
chciałem napisać skrypt ,który zrobi to za mnie

Kod:

#!/bin/bash
while true 
do
if[ $? == 0]; then
break;
else
eject
eject -t
sleep 5;
mount /dev/scd0 2>/dev/null  
sleep 30;
fi
done

gdy zmienna $?=0 czyli naped zostal poprawnie zamontowany to skrypt mial sie przerwac ale nie chce on dzialac , moze ktos to sprawdzic?

Offline

 

#2  2011-04-22 16:46:30

  NIC - Członek DUG

NIC
Członek DUG
Skąd: Wrocław
Zarejestrowany: 2006-12-25
Serwis

Re: Sprawdzenie poprawności wykonanego polecenia...

1. Dobrze, dobrze... Zacznijmy od tego że albo wcięło wcięcia, albo nie miałeś wcięć od początku. Stąd błędy składni, ale to chyba nie oto chodziło.

2. Problemem jest, co sprawdziłem doświadczalnie, że zawsze $? jest w skrypcie ustawione na 0 po uruchomieniu. Stąd owy break; zawsze zakończy skrypt od razu po jego uruchomieniu.

3. Ten sleep 30 jest niepotrzebny. On zmieni $? na 0 zawsze a tego nie chcesz.


Kod:

#!/bin/bash 

EXIT_STATUS=1
while true 
do
    if [ "${EXIT_STATUS}" == 0 ]; then
        echo "debug: exit()"
        exit 0
    else
        echo "debug: try mount"
        eject
        eject -t
        sleep 5
        mount /dev/scd0 &> /dev/null &
        wait $!
        EXIT_STATUS=$?
        echo "debug: exit status="${EXIT_STATUS}
    fi
done

z tym że
        mount /dev/scd0 &> /dev/null &
        wait $!
można zastąpić
        mount /dev/scd0 &> /dev/null


Stronka-dom: [url]http://titek.victorygames.pl[/url]
Jabber: nic@jabster.pl
Hobby: kompilowanie Linuksa, Bluetooth
Dystrybucja: żadna, bliski krewny LFS, składak

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.007 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00092 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.116.85.108' WHERE u.id=1
0.00096 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.116.85.108', 1732686014)
0.00048 SELECT * FROM punbb_online WHERE logged<1732685714
0.00073 SELECT topic_id FROM punbb_posts WHERE id=171329
0.00079 SELECT id FROM punbb_posts WHERE topic_id=18832 ORDER BY posted
0.00052 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=18832 AND t.moved_to IS NULL
0.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00069 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=18832 ORDER BY p.id LIMIT 0,25
0.00081 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=18832
Total query time: 0.00611 s