@@ -46,8 +46,11 @@ classic)
4646esac
4747
4848osversion=$( sw_vers -productVersion)
49- osmajor=$( echo " $osversion " | awk -F. ' {print $2}' )
50- [ " $osmajor " -lt 7 ] && exit 1
49+ osmajor=$( echo " $osversion " | awk -F. ' {print $1}' )
50+ osminor=$( echo " $osversion " | awk -F. ' {print $2}' )
51+ ospatch=$( echo " $osversion " | awk -F. ' {print $3}' )
52+ [ " $osmajor " -lt 10 ] && exit 1
53+ [ " $osmajor " == 10 ] && [ " $osminor " -lt 7 ] && exit 1
5154
5255get_current_service () {
5356 services=$( networksetup -listnetworkserviceorder | grep -F ' Hardware Port' )
@@ -111,35 +114,37 @@ get_current_resolvers() {
111114}
112115
113116flush_dns_cache () {
114- if [ " $osmajor " -le 8 ]; then
115- killall -HUP mDNSResponder 2> /dev/null
116- elif [ " $osmajor " = 9 ]; then
117+ if [" $osmajor " -ge 11 ]; then
117118 dscacheutil -flushcache 2> /dev/null
118- killall -HUP mDNSResponder 2> /dev/null
119- elif [ " $osmajor " = 10 ]; then
120- osminor=$( echo " $osversion " | awk -F. ' {print $3}' )
121- if [ " $osminor " -le 3 ]; then
122- discoveryutil mdnsflushcache 2> /dev/null
123- discoveryutil udnsflushcaches 2> /dev/null
124- else
119+ else
120+ if [ " $osminor " -le 8 ]; then
121+ killall -HUP mDNSResponder 2> /dev/null
122+ elif [ " $osminor " = 9 ]; then
125123 dscacheutil -flushcache 2> /dev/null
126124 killall -HUP mDNSResponder 2> /dev/null
127- fi
128- elif [ " $osmajor " = 11 ]; then
129- dscacheutil -flushcache 2> /dev/null
130- killall -HUP mDNSResponder 2> /dev/null
131- elif [ " $osmajor " = 12 ]; then
132- osminor=$( echo " $osversion " | awk -F. ' {print $3}' )
133- if [ " $osminor " -le 2 ]; then
125+ elif [ " $osminor " = 10 ]; then
126+ if [ " $ospatch " -le 3 ]; then
127+ discoveryutil mdnsflushcache 2> /dev/null
128+ discoveryutil udnsflushcaches 2> /dev/null
129+ else
130+ dscacheutil -flushcache 2> /dev/null
131+ killall -HUP mDNSResponder 2> /dev/null
132+ fi
133+ elif [ " $osminor " = 11 ]; then
134+ dscacheutil -flushcache 2> /dev/null
134135 killall -HUP mDNSResponder 2> /dev/null
136+ elif [ " $osminor " = 12 ]; then
137+ if [ " $ospatch " -le 2 ]; then
138+ killall -HUP mDNSResponder 2> /dev/null
139+ else
140+ killall -HUP mDNSResponder 2> /dev/null
141+ killall mDNSResponderHelper 2> /dev/null
142+ dscacheutil -flushcache 2> /dev/null
143+ fi
135144 else
136145 killall -HUP mDNSResponder 2> /dev/null
137- killall mDNSResponderHelper 2> /dev/null
138146 dscacheutil -flushcache 2> /dev/null
139147 fi
140- else
141- killall -HUP mDNSResponder 2> /dev/null
142- dscacheutil -flushcache 2> /dev/null
143148 fi
144149}
145150
0 commit comments