08
30
2007
Skrypt z oknami dialogowymi
Napisał Michał w kategorii Bash, Studia, tags: Bash, dialog, programowanieSkrypt napisany przez mojego serdecznego znajomego Mariusza.
Polecenie:
Wykonać skrypt, który potrafi usuwać i/lub kopiować pliki.
W ramach demonstracji dodaje okno dialogowe.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | #!/bin/bash ver="Syf ver 0.1" x="dialog" file="$0" function menu () { wybor=`$x --backtitle "$ver" --title Menu --menu "Co chcesz zrobic?" 0 0 4 1 Kopiowanie 2 Usuwanie 3 Koniec 2>&1 >/dev/tty` } function check () { if [ -e "$1" ]; then case "$2" in 1) jaka="kopiowania" cp "$1" "$HOME" ;; 2) jaka="usuwania" rm -fr "$1" ;; esac if [ "$?" -ne "0" ]; then dialog --title "Blad" --backtitle "$ver" --msgbox "Nieoczekiwany blad" 5 50 else dialog --title "Sukces" --backtitle "$ver" --msgbox "Operacja $jaka zakonczona pomyslnie" 5 50 fi else dialog --title "Blad" --backtitle "$ver" --msgbox "Podany element nie istnieje" 5 50 fi sh $file } function kopiowanie () { element=`$x --cancel-label "Powrót" --backtitle "$ver" --title Kopiowanie --inputbox "Podaj element ktory skopiuje do $HOME" 8 50 2>&1 >/dev/tty` case "$?" in 1 ) . $file;; esac check "$element" "1" } function usuwanie () { element=`$x --cancel-label "Powrót" --backtitle "$ver" --title Usuwanie --inputbox "Podaj element ktory usune: " 8 50 2>&1 >/dev/tty` case "$?" in 1 ) . $file;; esac check "$element" "2" } function koniec () { dialog --backtitle "$ver" --title "Koniec" --msgbox "Dziekuje za wspólprace" 5 30 exit } menu case "$wybor" in 1) kopiowanie;; 2) usuwanie;; *) koniec ;; esac |


Wpisy (RSS)