Я создал сценарий оболочки, чтобы пользователи могли автоматически настраивать свой сетевой адаптер. Часть сценария перечисляет сетевые адаптеры, подключенные в данный момент, а затем считывает введенные пользователем данные, чтобы ввести перечисленный адаптер в точности так, как он выглядит. Затем он применяет имя сети для внесения изменений в IP. Я хочу ограничить пользовательскую ошибку, указав в списке терминалов адаптеры, и пользователю нужно только выбрать варианты 1-6, чтобы завершить настройку.
Я попытался ограничить список с помощью awk, и сценарий по умолчанию настроен наприоритетное устройство, но из-за того, что подключено много разных адаптеров и нет однородности машин,
IP_ADDR="192.168.1.22"
SUBNET="255.255.255.0"
D_GATE="192.168.1.1"
DNS1="8.8.8.8"
DNS2="8.8.4.4"
# Find your adapter
echo I am going to show you a list of adapters. Find the correct one and write down the Service name.
# List adapters
networksetup -listallnetworkservices
# Asking them to find it
echo What is the the Service name of the adapter you are going to use?
# Get the users input
read NIC_SERVICE
# Restate NIC that was typed
echo you typed $NIC_SERVICE If that is incorrect IP Address will not saved
sleep 2s
clear
# Set Ip Address
if [ 192.168.1.22 != "" ] && [ "$NIC_SERVICE" != "" ]
then
networksetup -setmanual "$NIC_SERVICE" 192.168.1.22 255.255.255.0 192.168.1.1
networksetup -setdnsservers "$NIC_SERVICE" 8.8.8.8 8.8.4.4
fi