fix network switch script
This commit is contained in:
parent
5bb55a0a7d
commit
81c1b98894
@ -1,52 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Define the state file
|
||||
STATE_FILE="/tmp/network_toggle_state"
|
||||
|
||||
# Function to display current state
|
||||
# Function to show the current state
|
||||
show_current_state() {
|
||||
if [ "$1" == "down" ]; then
|
||||
if ip link show eth0 | grep -q "UP"; then
|
||||
echo "Current state: Ethernet and MACVLAN active, Wi-Fi inactive"
|
||||
else
|
||||
echo "Current state: Wi-Fi active, Ethernet and MACVLAN inactive"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if the state file exists
|
||||
if [ -f "$STATE_FILE" ]; then
|
||||
# If the state file exists, read the state
|
||||
STATE=$(cat "$STATE_FILE")
|
||||
else
|
||||
# If the state file does not exist, initialize it to "down"
|
||||
STATE="down"
|
||||
echo "$STATE" > "$STATE_FILE"
|
||||
fi
|
||||
# Show the current state
|
||||
show_current_state
|
||||
|
||||
# Show current state
|
||||
show_current_state "$STATE"
|
||||
|
||||
# Toggle the state
|
||||
if [ "$STATE" == "down" ]; then
|
||||
# Check the current state by examining the status of Ethernet (eth0)
|
||||
if ip link show eth0 | grep -q "UP"; then
|
||||
echo "Switching to Wi-Fi mode..."
|
||||
echo "Deactivating: Ethernet (eth0) and MACVLAN interfaces"
|
||||
sudo ip link set macvlan0 down
|
||||
sudo ip link set macvlan1 down
|
||||
sudo ip link set eth0 down
|
||||
ip link set macvlan0 down
|
||||
ip link set macvlan1 down
|
||||
ip link set eth0 down
|
||||
echo "Activating: Wi-Fi (wlan0)"
|
||||
sudo ip link set wlan0 up
|
||||
echo "up" > "$STATE_FILE" # Update the state to "up"
|
||||
ip link set wlan0 up
|
||||
else
|
||||
echo "Switching to Ethernet and MACVLAN mode..."
|
||||
echo "Deactivating: Wi-Fi (wlan0)"
|
||||
sudo ip link set wlan0 down
|
||||
ip link set wlan0 down
|
||||
echo "Activating: Ethernet (eth0) and MACVLAN interfaces"
|
||||
sudo ip link set eth0 up
|
||||
sudo ip link set macvlan1 up
|
||||
sudo ip link set macvlan0 up
|
||||
echo "down" > "$STATE_FILE" # Update the state to "down"
|
||||
ip link set eth0 up
|
||||
ip link set macvlan1 up
|
||||
ip link set macvlan0 up
|
||||
fi
|
||||
|
||||
# Show new state
|
||||
# Show the new state
|
||||
echo ""
|
||||
echo "Switch completed."
|
||||
show_current_state $(cat "$STATE_FILE")
|
||||
show_current_state
|
||||
|
Loading…
x
Reference in New Issue
Block a user