Strona 1 z 1

restart maszyny po instalacji z pendrive

: 08 lip 2014, 12:00
autor: lkozak
Witam serdecznie wszystkich użytkowników forum to mój pierwszy post :)

Mam taką sytuację - na usb sticku posiadam ubuntu 12.04, które automatycznie instaluje się na maszynie do której zostanie wpięty ów pendrive. Wszystko jest zautomatyzowane wystarczy włożyć pendriva do portu usb. Chciałbym aby po zakończonej instalacji na ekranie komputera pojawił sie komunikat, z prośbą o wyciągnięcie pendriva i aby w tym momencie (po fizycznym wyjeciu pendrivea) nastąpił restart maszyny - chodzi o to że jak pendrive nie będzie usuniety to maszyna zrestartuje się i proces instalacji zacznie się od nowa.

koniec instalacji -> uruchomienie skryptu z komunikatem i detekcją czy usb z którego poszła instalacja jest wpięty -> jeżeli jest dalej to wyświetlaj komunikat -> jezeli pendrive zosł usunięty to reboot

w /etc/init.d umieściłem taki skrypt:

Kod: Zaznacz cały

#! /bin/sh

case "$1" in
   start)
         clear
         UNPLUG_MESSAGE="PLEASE UNPLUG THE USB STICK NOW"

         echo $UNPLUG_MESSAGE && sleep 5

         while true; do

         USB_STATUS=`dmesg | tail -n 5 |  grep 'disconnect'`

         if [ $(echo $USB_STATUS | grep -c "disconnect") != 0 ]
            then
                clear && echo "Rebooting..."
                echo $USB_STATUS
                reboot

         elif [ $(echo $USB_STATUS | grep -c "disconnect") = 0 ]
              then
                  clear && echo "Please remove USB drive..."
                  echo $USB_STATUS
                  sleep 5
              fi
         done
            ;;
         stop)
            exit 0
            ;;
            *)
              exit 1
              ;;
         esac

            exit $?
niestety nie chce poprawnie działać - po wyjęciu usb dalej pojawia się komunikat o wyjęciu urządzenia.
Bardzo proszę o pomoc, próbowałem juz róznych kombinacji z tym skryptem i nic nie pomaga - może ktos spotkał sie z podobną sytuacją

Pozdrawiam.

Re: restart maszyny po instalacji z pendrive

: 21 lip 2014, 22:28
autor: Paminol
Czy zamiast fi nie powinno być if ?

Kod: Zaznacz cały

       fi
         done
            ;;
         stop)
            exit 0
            ;;
            *)
              exit 1
              ;;
         esac

            exit $?