#!/bin/bash

# Задайте имя сетевого интерфейса вручную #
INTERFACE="enp6s0f1"

# Определение текущей скорости адаптера #
CURRENT_SPEED=$(ethtool "$INTERFACE" | grep "Speed" | awk '{print $2}') 

# Печатаем текущую скорость для отладки #
echo "Текущая скорость интерфейса $INTERFACE: $CURRENT_SPEED"

# Преобразование скорости в число (с удалением 'Mb/s' и пробелов) #
# Предполагается, что команда должна вернуть конструкцию вида 1000Mb/s #
# Если у Вас команда из переменной CURRENT_SPEED выдаёт другие данные - внесите изменения #
if [[ $CURRENT_SPEED == *"Mb/s"* ]]; then
    CURRENT_SPEED_NUM=$(echo "$CURRENT_SPEED" | tr -d 'Mb/s' | xargs)
else
    echo "Ошибка: не удалось распознать скорость адаптера. Получено: '$CURRENT_SPEED'."
    exit 1
fi

# Проверка, что CURRENT_SPEED_NUM является числом #
if ! [[ "$CURRENT_SPEED_NUM" =~ ^[0-9]+$ ]]; then
    echo "Ошибка: не удалось получить целочисленное значение скорости. Получено: '$CURRENT_SPEED_NUM'."
    exit 1
fi

# Если скорость меньше 1000, меняем её #
if [ "$CURRENT_SPEED_NUM" -lt 1000 ]; then
    echo "Установка скорости адаптера $INTERFACE в 1000 Мбит/с."
    sudo ethtool -s "$INTERFACE" speed 1000 duplex full
else
    echo "Скорость адаптера $INTERFACE больше или равна 1000 Мбит/с. Изменений не требуется."
fi