stop unused interfaces
This commit is contained in:
parent
34b3e1e4ca
commit
1500b26562
|
@ -1,5 +1,25 @@
|
|||
#!/bin/bash
|
||||
|
||||
__net_start ()
|
||||
{
|
||||
interfaces="`grep [0-9]=\\" /etc/conf.d/net | grep -v ^# | sed 's~.*_\([A-Za-z]*[0-9]\)=.*~\1~' | sort -u`"
|
||||
istart=
|
||||
for i in $interfaces; do
|
||||
istart="$istart net.$i"
|
||||
done
|
||||
sudo eselect rc start $istart
|
||||
}
|
||||
|
||||
__net_stop ()
|
||||
{
|
||||
interfaces="`grep [0-9]=\\" /etc/conf.d/net | grep -v ^# | sed 's~.*_\([A-Za-z]*[0-9]\)=.*~\1~' | sort -u`"
|
||||
istop=
|
||||
for i in $interfaces; do
|
||||
istop="$istop net.$i"
|
||||
done
|
||||
sudo eselect rc stop $istop
|
||||
}
|
||||
|
||||
__net_restart ()
|
||||
{
|
||||
interfaces="`grep [0-9]=\\" /etc/conf.d/net | grep -v ^# | sed 's~.*_\([A-Za-z]*[0-9]\)=.*~\1~' | sort -u`"
|
||||
|
@ -10,7 +30,8 @@ __net_restart ()
|
|||
sudo eselect rc restart $irestart
|
||||
}
|
||||
|
||||
if [[ "$1" == "" ]]; then
|
||||
Usage ()
|
||||
{
|
||||
echo "Usage:"
|
||||
echo " net \$profile: selects network \$profile"
|
||||
echo " net new \$base \$profile: creates new \$profile based on \$base"
|
||||
|
@ -27,8 +48,19 @@ if [[ "$1" == "" ]]; then
|
|||
fn=`echo $f | sed 's~^/etc/conf.d/net\.~~'`
|
||||
[[ "$fn" == "$active" ]] && echo "* $fn" || echo " $fn"
|
||||
done
|
||||
}
|
||||
|
||||
if [[ "$1" == "" ]]; then
|
||||
Usage
|
||||
|
||||
elif [[ "$1" == "start" ]]; then
|
||||
__net_start
|
||||
|
||||
elif [[ "$1" == "stop" ]]; then
|
||||
__net_stop
|
||||
|
||||
elif [[ "$1" == "restart" ]]; then
|
||||
sudo eselect nscd restart
|
||||
__net_restart
|
||||
|
||||
elif [[ "$1" == "edit" && "$2" == "" ]]; then
|
||||
|
@ -40,9 +72,6 @@ elif [[ "$1" == "edit" && "$2" != "" ]]; then
|
|||
elif [[ "$1" == "rm" && "$2" != "" ]]; then
|
||||
sudo rm -f /etc/conf.d/net.$2
|
||||
|
||||
elif [[ "$1" == "view" && "$2" == "" ]]; then
|
||||
$PAGER /etc/conf.d/net
|
||||
|
||||
elif [[ "$1" == "view" && "$2" != "" ]]; then
|
||||
$PAGER /etc/conf.d/net.$2
|
||||
|
||||
|
@ -51,13 +80,20 @@ elif [[ "$1" == "rm" && "$2" != "" ]]; then
|
|||
|
||||
elif [[ "$1" == "new" && "$2" != "" && "$3" != "" ]]; then
|
||||
sudo cp -f /etc/conf.d/net.$2 /etc/conf.d/net.$3 && sudo $EDITOR /etc/conf.d/net.$3
|
||||
__net_stop
|
||||
sudo rm -f /etc/conf.d/net && sudo ln -s net.$3 /etc/conf.d/net
|
||||
sudo eselect nscd restart
|
||||
__net_restart
|
||||
|
||||
else
|
||||
sudo rm -f /etc/conf.d/net && sudo ln -s net.$1 /etc/conf.d/net
|
||||
__net_restart
|
||||
if [ -f /etc/conf.d/net.$1 ]; then
|
||||
__net_stop
|
||||
sudo rm -f /etc/conf.d/net && sudo ln -s net.$1 /etc/conf.d/net
|
||||
sudo eselect nscd restart
|
||||
__net_restart
|
||||
else
|
||||
Usage
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
|
|
Loading…
Reference in New Issue