1#!/bin/bash 2 3if [ `id | awk '{print $1}'` != "uid=0(root)" ] 4then 5 echo -e "{LYouMustBeRoot}" 6 echo -e "\n{LInstallEnd}" 7 read RESP 8 exit 9fi 10 11RUNP=`ps -ef |grep -v grep |grep USBModem.jar | grep java |awk '{print $2}'` 12 13if [ "x${RUNP}" != "x" ] 14then 15 echo -e "{LProgramRunning}" 16 echo -e "\n{LInstallEnd}" 17 read RESP 18 exit 19fi 20 21# /*yes or no ��������, yes����0, no����1*/ 22yes_or_no() 23{ 24 if [ ${#} -ne 2 ] 25 then 26 echo -e "yes_or_or: {ErrorPara}" 27 return 1 28 fi 29 if [ "${2}" = "Y" ] 30 then 31 DEFPMPT="([Y]/N):\c " 32 DEFVAL="Y" 33 else 34 DEFPMPT="(Y/[N]):\c " 35 DEFVAL="N" 36 fi 37 echo -e "${1} ${DEFPMPT}" 38 read ANS 39 while [ "${ANS}" != "Y" -a "${ANS}" != "y" -a "${ANS}" != "N" -a "${ANS}" != "n" -a ! -z "${ANS}" ] 40 do 41 echo -e "${1} ${DEFPMPT}" 42 read ANS 43 done 44 : ${ANS:="${DEFVAL}"} 45 if [ "${ANS}" != "Y" -a "${ANS}" != "y" ] 46 then 47 unset ANS 48 return 1 49 fi 50 unset ASN 51 return 0 52} 53yes_or_no "\n{LProgramRemoving}" N 54if [ ${?} -ne 0 ] 55then 56 exit 57fi 58 59#uninstall drivers by chip type 60rm -f /etc/udev/rules.d/11-longcheer-Datacard.rules 61#1��Icera 62if [ "x{CHIPTYPE}" = "x1" ] 63then 64#uninstall eject drivers 65 66if [ "x{DEVICETYPE}" = "x4" ] 67then 68 DRIVERLS="onda-lq-zerocd" 69else 70 DRIVERLS="longcheer-wm65-zerocd" 71fi 72# for Ubuntu 73 UBUNTURELEASE=`grep Ubuntu /etc/issue 2>&1 | awk -F ' ' '{printf $1}'` 74 if [ "x${UBUNTURELEASE}" = "xUbuntu" ] 75 then 76 dpkg -r ${DRIVERLS} >/dev/null 2>&1 77 fi 78 79# for Debian 80 DEBIANRELEASE=`grep Debian /etc/issue 2>&1 | awk -F ' ' '{printf $1}'` 81 if [ "x${DEBIANRELEASE}" = "xDebian" ] 82 then 83 dpkg -r ${DRIVERLS} >/dev/null 2>&1 84 fi 85 86# for Fedora 87 DEBIANRELEASE=`grep Fedora /etc/issue 2>&1 | awk -F ' ' '{printf $1}'` 88 if [ "x${DEBIANRELEASE}" = "xFedora" ] 89 then 90 rpm -e ${DRIVERLS} >/dev/null 2>&1 91 fi 92 93# for OpenSuSE 94 if [ -f /etc/SuSE-release ] 95 then 96 echo "do nothing..." 97 fi 98 fi 99#2��Qualcomm 100if [ "x{CHIPTYPE}" = "x2" ] 101then 102 #uninstall usb drivers 103 echo -e "{LDriverUninstalling}" 104 DRIVER_USED=`lsmod |grep ^lctserial |awk '{print $3}'` 105 if [ "x${DRIVER_USED}" != "x0" -a "x${DRIVER_USED}" != "x" ] 106 then 107 echo -e "{LDriverUsed}" 108 echo -e "\n{LInstallEnd}" 109 read RESP 110 exit 111 fi 112 #Remove USB Driver 113 # cd {INSTALLPATH}/driver; make uninstall; make clean 114 cd {INSTALLPATH}/driver/ndis/src; ./add_header.sh clean 115 rm -f /etc/udev/rules.d/26-longcheer-Datacard.rules 116 rm -f /lib/udev/longcheer-cm55-ejectcd 117 rm -f /lib/udev/longcheer-cm55-testcd 118 if [ -f /lib/udev/lcdoshift ] 119 then 120 rm -f /lib/udev/lcdoshift* 121 rm -f /lib/udev/load_driver.sh 122 rm -f /lib/udev/lc_ether 123 fi 124fi 125udevadm control --reload-rules 126udevadm trigger --subsystem-match="usb" 127 128{INSTALLPATH}/active/active_uninstall 129rm -rf {INSTALLPATH} 130rm -rf /usr/local/lcDial 131 132grep -v USBModem.sh /etc/sudoers > /etc/sudoers.bak 2>&1 133sed -i "s/# ,{REQUIRETTY},{DELETECOMMENT}/{REQUIRETTY}/g" /etc/sudoers.bak 2>/dev/null 134cp -f /etc/sudoers.bak /etc/sudoers 135rm -f /etc/sudoers.bak 136if [ -d /root/Desktop ] 137then 138 rm -rf /root/Desktop/USBModem.desktop 139else 140 rm -rf /root/USBModem.desktop 141fi 142rm -rf /usr/share/applications/USBModem.desktop 143rm -rf /usr/share/applications/UninstallUSBModem.desktop 144 145CACHENAME=`echo $LANG` 146CACHENAME="/usr/share/applications/desktop.$CACHENAME.cache" 147if [ -f $CACHENAME ];then 148 sed -i '/#cachebegin/,/#cacheend/d' $CACHENAME 149fi 150 151if [ -f {CONFIG_FILE} ] 152then 153 rm -rf {CONFIG_FILE} 154fi 155 156if [ -d {USERDATA_PATH} ] 157 then 158 yes_or_no "\n{LUserdataInstalled}" N 159 if [ ${?} -ne 1 ] 160 then 161 rm -rf {USERDATA_PATH} 162 fi 163fi 164 165 166 167 168 169