-
Notifications
You must be signed in to change notification settings - Fork 6
/
balance-vi.sh
executable file
·112 lines (103 loc) · 2.66 KB
/
balance-vi.sh
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/bin/bash
BASEDIR=$(dirname $0)
read ussdsport ussdrport < ~/.ussd-conf
function welcome() {
ACTION=`zenity --width=450 --height=200 --list --radiolist \
--title="Kiểm tra tài khoản" \
--text="Bạn muốn làm gì?" \
--column "Chọn" --column "Hành động" \
TRUE "Kiểm tra tài khoản" \
FALSE "Nạp tiền" \
FALSE "Nhập lệnh khác"`
if [ -n "${ACTION}" ];then
case $ACTION in
"Kiểm tra tài khoản")
checkbalance
;;
"Nạp tiền")
recharge
;;
"Nhập lệnh khác")
sendussd
;;
*)
exit
;;
esac
fi
}
function disconnect () {
#~turn of broadband network for Ubuntu.
# This is unneccesary on Gentoo.
nmcli nm wwan off
nmcli dev | grep tty | grep -v disconnected | grep -v unavailable | read interface y
if [ -n "$interface" ]
then
nmcli dev disconnect iface $interface
fi
}
function checkbalance () {
disconnect
distscript='/ussd/huawei-ussd.pl'
sleep 2
ussdcode='*101#'
mainbalance=`perl "$BASEDIR$distscript" -s $ussdsport -r $ussdrport "$ussdcode"`
ussdcode='*102#'
subbalance=`perl "$BASEDIR$distscript" -s $ussdsport -r $ussdrport "$ussdcode"`
zenity --info --text="$mainbalance\n$subbalance"
nmcli nm wwan on
welcome
}
function recharge(){
disconnect
ussdcode=`zenity --entry --title="Nạp tiền" --text="Nhập mã số thẻ cào:"`
if [ -n "$ussdcode" ]
then
ussdcode="*100*${ussdcode}#"
distscript='/ussd/huawei-ussd.pl'
sleep 1
output=`perl "$BASEDIR$distscript" -s $ussdsport -r $ussdrport "$ussdcode"`
zenity --info --text="$output"
fi
nmcli nm wwan on
welcome
}
function sendussd(){
read ussdsport ussdrport < ~/.ussd-conf
#get information about device
if [ -z "$ussdsport" ]
then
ussdsport="/dev/ttyUSB2"
fi
if [ -z "$ussdrport" ]
then
ussdrport="$ussdsport"
fi
rport=${ussdrport:5}
sport=${ussdsport:5}
checkr=`dmesg |grep modem|grep "$rport"`
if [ -z "$checkr" ]
then
(zenity --question --text="$rport có vẻ không phải thiết bị modem. Tiếp tục?") || welcome
fi
checks=`dmesg |grep modem|grep "$sport"`
if [ -z "$checks" ]
then
(zenity --question --text="$rport có vẻ không phải thiết bị modem. Tiếp tục?") || welcome
fi
disconnect
ussdcode=`zenity --entry --title="Nhập lệnh USSD" \
--text="Nhập lệnh USSD. Để nguyên (*101#) để kiểm tra tài khoản:" \
--entry-text "*101#"`
if [ -z "$ussdcode" ]
then
ussdcode='*101#'
fi
distscript='/ussd/huawei-ussd.pl'
sleep 1
output=`perl "$BASEDIR$distscript" -s $ussdsport -r $ussdrport "$ussdcode"`
zenity --info --text="$output"
nmcli nm wwan on
welcome
}
welcome