dispatcher.d 脚本未执行

dispatcher.d 脚本未执行

我目前正在编写脚本,它将根据笔记本电脑插入的网络更改代理和 apt 设置。

问题是,如果我从终端运行脚本,一切都会正常。但是一旦

我将其放置在 中/etc/Networkmanager/dispatcher.d/,根据系统日志,什么也没有发生。

权限:

-rwxr-xr-x 1 root root 1163年5月30日 12:23 02ifupproxy*

这是脚本:

#!/bin/bash

#Script for proxy auto detection.
aptconf="/etc/apt/apt.conf"
aptconfd="/etc/apt/apt.conf.d/01proxy"
adapter=`ps -ef | grep eth| grep root | awk '{ print $18}'`
ipaddres=`ifconfig $adapter | grep inet\ addr | awk -F ":" '{print $2}' | awk '{print $1}'`
ipaddrA=`echo $ipaddres | awk -F "." '{print $1}'`
ipaddrB=`echo $ipaddres | awk -F "." '{print $2}'`
ipaddrC=`echo $ipaddres | awk -F "." '{print $3}'`

if [ $ipaddrA -eq 192 ] && [ $ipaddrB -eq 168 ] && [ $ipaddrC -ge 129 ] && [ $ipaddrC -le 140 ] ; then
 ping -c 3 192.168.143.57

 if [ $? -eq 0 ] ; then

  if [ -f $aptconfd  ] ;then
     echo "Acquire::http::Proxy \"http://192.168.143.57:3142\";" > $aptconfd

     notify-send -i /usr/share/icons/gnome/32x32/status/network-receive.png Settings\ changed\ for\ Gratex\ Proxy

     gsettings set org.gnome.system.proxy mode 'manual'



  fi


fi



else 

notify-send -i /usr/share/icons/gnome/48x48/status/network-error.png Settings\ changed\ for\ Outside
gsettings set org.gnome.system.proxy mode 'none'
echo "" > $aptconfd

fi   

答案1

尝试将脚本放入/etc/network/if-up.d/

如果接口启动则添加路由的示例脚本

# Check for specific interface if desired
[ "$IFACE" != "usb0" ] || exit 0
# Adding additional routes on connection
route add default dev usb0 via 192.168.42.129
route add ...
route add ...

相关内容