Diffstat (limited to 'noncore/tools/opie-sh/scripts/filesystem_mounter.sh') (more/less context) (ignore whitespace changes)
-rwxr-xr-x | noncore/tools/opie-sh/scripts/filesystem_mounter.sh | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/noncore/tools/opie-sh/scripts/filesystem_mounter.sh b/noncore/tools/opie-sh/scripts/filesystem_mounter.sh new file mode 100755 index 0000000..faaf37c --- a/dev/null +++ b/noncore/tools/opie-sh/scripts/filesystem_mounter.sh | |||
@@ -0,0 +1,126 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # filesystem_mounter.sh - a demonstration of opie-sh | ||
4 | # | ||
5 | # Copyright (C) 2002 gonz@directbox.com | ||
6 | # | ||
7 | # This program is free software; you can redistribute it and/or modify | ||
8 | # it under the terms of the GNU General Public License as published by | ||
9 | # the Free Software Foundation; either version 2, or (at your option) | ||
10 | # any later version. | ||
11 | # | ||
12 | # This program is distributed in the hope that it will be useful, | ||
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | # GNU General Public License for more details. | ||
16 | # | ||
17 | # 20020524-2 - using df from diskfree now | ||
18 | # 20020524-1 - just code optix | ||
19 | # 20020519-1 - added information screen with manpage excerpt, added | ||
20 | # better returncode-checking | ||
21 | # 20020517-2 - fixed output bug | ||
22 | # 20020517-1 - nicer fullscreen, added about, tried icon | ||
23 | # | ||
24 | |||
25 | OPIE_SH=/opt/QtPalmtop/bin/opie-sh | ||
26 | |||
27 | ###################################################################### | ||
28 | # subroutines | ||
29 | |||
30 | about() { | ||
31 | ( echo "<img src=/opt/QtPalmtop/pics/opie-sh-scripts/fsmounter.png>" | ||
32 | echo "<h3>About</h3>" | ||
33 | echo "This little App should make it possible for you to " | ||
34 | echo "easily mount and unmount filesystems from /etc/fstab" | ||
35 | echo "<p>" | ||
36 | ) | $OPIE_SH -t fsmounter -f & | ||
37 | SCREENCLEAN=$! | ||
38 | sleep 1 | ||
39 | } | ||
40 | |||
41 | beforemount() { | ||
42 | ( echo "<img src=/opt/QtPalmtop/pics/opie-sh-scripts/fsmounter.png>" | ||
43 | echo "<h3>mount or unmount $MOUNTPOINT ?</h3>" | ||
44 | echo "<b>excerpt from MOUNT(8) manpage:</b><p>" | ||
45 | echo "All files accessible in a Unix system are arranged in one | ||
46 | big tree, the file hierarchy, rooted at <b>/</b>. These files | ||
47 | can be spread out over several devices. The <b>mount</b> command | ||
48 | serves to attach the file system found on some device to | ||
49 | the big file tree. Conversely, the <b>umount(8)</b> command will | ||
50 | detach it again." | ||
51 | echo "<p>" | ||
52 | ) | $OPIE_SH -t fsmounter -f & | ||
53 | SCREENCLEAN2=$! | ||
54 | sleep 1 | ||
55 | } | ||
56 | |||
57 | |||
58 | cleanup() { | ||
59 | kill $SCREENCLEAN $SCREENCLEAN2 | ||
60 | rm -f /tmp/qcop-msg-filesystem_mounter.sh | ||
61 | } | ||
62 | |||
63 | get_action() { | ||
64 | # ask what to do (start/stop/status) | ||
65 | # | ||
66 | $OPIE_SH -m -t "Select Action" \ | ||
67 | -M "action for $MOUNTPOINT ?" \ | ||
68 | -g -0 mount -1 umount | ||
69 | RETURNCODE=$? | ||
70 | |||
71 | case $RETURNCODE in | ||
72 | -1|255) echo unexpected input detected, exiting. | $OPIE_SH -f | ||
73 | cleanup ;; | ||
74 | 0) ACTION=mount ;; | ||
75 | 1) ACTION=umount ;; | ||
76 | esac | ||
77 | kill $SCREENCLEAN2 | ||
78 | } | ||
79 | |||
80 | select_mountpoint() { | ||
81 | # present service list and choose | ||
82 | # | ||
83 | MOUNTPOINT=` cat /etc/fstab | cut -f1 \ | ||
84 | | cut -d " " -f1 \ | ||
85 | | egrep -v "(tmpfs|proc|devpts|^#)" \ | ||
86 | | $OPIE_SH -i -l \ | ||
87 | -g -t "SELECT MOUNTPOINT" \ | ||
88 | -L "select fs: " ` | ||
89 | } | ||
90 | |||
91 | ###################################################################### | ||
92 | # main | ||
93 | |||
94 | about | ||
95 | select_mountpoint | ||
96 | beforemount | ||
97 | get_action | ||
98 | |||
99 | if [ "$MOUNTPOINT" = "" ] | ||
100 | then echo "ugly error...." | $OPIE_SH -f ; cleanup | ||
101 | fi | ||
102 | |||
103 | ( echo "<img src=/opt/QtPalmtop/pics/opie-sh-scripts/fsmounter.png>" | ||
104 | echo "<h3>Output of $ACTION $MOUNTPOINT :</h3>" | ||
105 | echo "<pre>" | ||
106 | $ACTION $MOUNTPOINT 2>&1 | ||
107 | echo "</pre><p>" | ||
108 | echo "<h3>diskfree</h3> how much space is left ?<br>" | ||
109 | echo "<p><table>" | ||
110 | |||
111 | df -Ph \ | ||
112 | | grep -v "Mounted on" \ | ||
113 | | sed 's/ / /g' \ | ||
114 | | sed 's/ / /g' \ | ||
115 | | sed 's/ / /g' \ | ||
116 | | sed 's/ / /g' \ | ||
117 | | sed 's/ / /g' \ | ||
118 | | sed 's/ / /g' \ | ||
119 | | sed "s/ / /g" \ | ||
120 | | cut -d " " -f4- \ | ||
121 | | sed 's/ /<\/td><td>/g' \ | ||
122 | | sed 's/$/<\/td><\/tr>/' \ | ||
123 | | sed 's/^/<tr><td>/' ; echo "</table>" \ | ||
124 | ) | $OPIE_SH -f | ||
125 | |||
126 | cleanup | ||