Eu não fiz isso sozinho, mas soou descomplicado para o script, então aqui está um verso para construir:
if [[ 'ifconfig \-u \'networksetup -listallhardwareports|grep Wi-Fi -A 1|grep Device|awk '{print $2}'\' inet|grep inet|awk '{print $2}'' = 192.168.1.100 ]];then apachectl start; else apachectl graceful-stop;fi
Quebrando isso:
- usei
networksetup -listallhardwareports|grep Wi-Fi -A 1|awk '{print $2}'
para descobrir o identificador do dispositivo. No meu caso foi en0. - Eu coloquei isso no backtics para que fosse canalizado para
ifconfig -u (en0) inet
. O-u
procura por adaptadores ativos ou UP einet
retornaram informações de IPv4. Você pode alterar isso parainet6
para alterar a consulta para IPv6. - Eu agrupei esse
if [[ ]]
teste e comparei o valor com o endereço IP que eu quero para permitir a ativação e parar se a correspondência falhar.
Você só terá que decidir como quer dar o pontapé inicial. Talvez um script de logon ou possivelmente um script de lançamento seja executado à vontade. HTH.