根据信息,内部的任何文件
/etc/NetworkManager/dispatcher.d/
假设从
NetworkManager
要找出这些命令可能是什么,我们只需
查看其中一个脚本的源代码
/etc/NetworkManager/dispatcher.d/
所以让我们这样做。
cd /etc/NetworkManager/dispatcher.d/
ls
00-netreport 05-netfs 10-dhclient
vi 00*
这里没有什么。
gedit 05*
出色的。
#!/bin/sh
export LC_ALL=C
if [ "$2" = "down" ]; then
/sbin/ip route ls | grep -q ^default || {
[ -f /var/lock/subsys/netfs ] && /etc/rc.d/init.d/netfs stop || :
} && { :; }
fi
if [ "$2" = "up" ]; then
/sbin/ip -o route show dev "$1" | grep -q '^default' && {
/sbin/chkconfig netfs && /etc/rc.d/init.d/netfs start || :
} || { :; }
fi
让我们复制它并创建一个名为
test
让我们只使用我们需要的“up”。
file: test
#!/bin/sh
export LC_ALL=C
if [ "$2" = "up" ]; then
/sbin/ip -o route show dev "$1" | grep -q '^default' && {
/sbin/chkconfig netfs && /etc/rc.d/init.d/netfs start || :
} || { :; }
fi
让我们对其进行修改,以便它可以“可视化”执行一些我们可以对其进行测试的东西。
#!/bin/sh
export LC_ALL=C
if [ "$2" = "up" ]; then
gedit test.txt
fi
结果:
Not Working.
让我们以某种方式对其进行修改,以便它可以理解。
#!/bin/sh
export LC_ALL=C
if [ "$2" = "up" ]; then
/sbin/ip -o route show dev "$1" | grep -q '^default' && {
gedit test.txt || :
} || { :; }
fi
重启..
结果:
nothing
解决了:
这是所选答案中可能的最小代码:(
我能够创建)
case "$2" in
up)
touch /root/Desktop/ooo
;;
esac
我需要让它更小,因为我经常重新格式化我的机器,然后运行一个脚本来自动设置这些东西。所以将来我只会跑
cat >> /etc/NetworkManager/dispatcher.d/test << EOF
case "\$2" in
up)
touch /root/Desktop/ooo
;;
esac
EOF
chmod +x /etc/NetworkManager/dispatcher.d/test
换句话说, $ 必须用 " cat>>
" 东西转义。